From ca96da527be3b09ea66236c0c8586b52fd68d74f Mon Sep 17 00:00:00 2001 From: longjieli <1060695654@qq.com> Date: Sun, 25 Aug 2024 17:42:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/finish/finish.vue | 192 ++++++ pages/login/login.vue | 195 ++++++ pages/reject/reject.vue | 70 +++ pages/repair/repair.vue | 248 ++++++++ pages/repairList/repairList.vue | 175 ++++++ static/bar/1.png | Bin 0 -> 2848 bytes static/bar/2.png | Bin 0 -> 2863 bytes static/bar/3.png | Bin 0 -> 906 bytes static/bar/4.png | Bin 0 -> 930 bytes static/login/logo.png | Bin 0 -> 157279 bytes uni_modules/uni-icons/changelog.md | 42 ++ .../uni-icons/components/uni-icons/uni-icons.uvue | 91 +++ .../uni-icons/components/uni-icons/uni-icons.vue | 110 ++++ .../uni-icons/components/uni-icons/uniicons.css | 664 +++++++++++++++++++++ .../uni-icons/components/uni-icons/uniicons.ttf | Bin 0 -> 35824 bytes .../components/uni-icons/uniicons_file.ts | 664 +++++++++++++++++++++ .../components/uni-icons/uniicons_file_vue.js | 649 ++++++++++++++++++++ uni_modules/uni-icons/package.json | 89 +++ uni_modules/uni-icons/readme.md | 8 + uni_modules/uni-scss/changelog.md | 8 + uni_modules/uni-scss/index.scss | 1 + uni_modules/uni-scss/package.json | 82 +++ uni_modules/uni-scss/readme.md | 4 + uni_modules/uni-scss/styles/index.scss | 7 + uni_modules/uni-scss/styles/setting/_border.scss | 3 + uni_modules/uni-scss/styles/setting/_color.scss | 66 ++ uni_modules/uni-scss/styles/setting/_radius.scss | 55 ++ uni_modules/uni-scss/styles/setting/_space.scss | 56 ++ uni_modules/uni-scss/styles/setting/_styles.scss | 167 ++++++ uni_modules/uni-scss/styles/setting/_text.scss | 24 + .../uni-scss/styles/setting/_variables.scss | 146 +++++ uni_modules/uni-scss/styles/tools/functions.scss | 19 + uni_modules/uni-scss/theme.scss | 31 + uni_modules/uni-scss/variables.scss | 62 ++ utils/oss-upload/common/crypto/base64.js | 95 +++ utils/oss-upload/common/crypto/crypto.js.js | 117 ++++ utils/oss-upload/common/crypto/hmac.js | 29 + utils/oss-upload/common/crypto/sha1.js | 59 ++ utils/oss-upload/oss/OSSConfig.js | 36 ++ utils/oss-upload/oss/index.js | 139 +++++ utils/oss-upload/oss/web.js | 63 ++ 41 files changed, 4466 insertions(+) create mode 100644 pages/finish/finish.vue create mode 100644 pages/login/login.vue create mode 100644 pages/reject/reject.vue create mode 100644 pages/repair/repair.vue create mode 100644 pages/repairList/repairList.vue create mode 100644 static/bar/1.png create mode 100644 static/bar/2.png create mode 100644 static/bar/3.png create mode 100644 static/bar/4.png create mode 100644 static/login/logo.png create mode 100644 uni_modules/uni-icons/changelog.md create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.uvue create mode 100644 uni_modules/uni-icons/components/uni-icons/uni-icons.vue create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.css create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons.ttf create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file.ts create mode 100644 uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js create mode 100644 uni_modules/uni-icons/package.json create mode 100644 uni_modules/uni-icons/readme.md create mode 100644 uni_modules/uni-scss/changelog.md create mode 100644 uni_modules/uni-scss/index.scss create mode 100644 uni_modules/uni-scss/package.json create mode 100644 uni_modules/uni-scss/readme.md create mode 100644 uni_modules/uni-scss/styles/index.scss create mode 100644 uni_modules/uni-scss/styles/setting/_border.scss create mode 100644 uni_modules/uni-scss/styles/setting/_color.scss create mode 100644 uni_modules/uni-scss/styles/setting/_radius.scss create mode 100644 uni_modules/uni-scss/styles/setting/_space.scss create mode 100644 uni_modules/uni-scss/styles/setting/_styles.scss create mode 100644 uni_modules/uni-scss/styles/setting/_text.scss create mode 100644 uni_modules/uni-scss/styles/setting/_variables.scss create mode 100644 uni_modules/uni-scss/styles/tools/functions.scss create mode 100644 uni_modules/uni-scss/theme.scss create mode 100644 uni_modules/uni-scss/variables.scss create mode 100644 utils/oss-upload/common/crypto/base64.js create mode 100644 utils/oss-upload/common/crypto/crypto.js.js create mode 100644 utils/oss-upload/common/crypto/hmac.js create mode 100644 utils/oss-upload/common/crypto/sha1.js create mode 100644 utils/oss-upload/oss/OSSConfig.js create mode 100644 utils/oss-upload/oss/index.js create mode 100644 utils/oss-upload/oss/web.js diff --git a/pages/finish/finish.vue b/pages/finish/finish.vue new file mode 100644 index 0000000..0de1a69 --- /dev/null +++ b/pages/finish/finish.vue @@ -0,0 +1,192 @@ + + + + + + \ No newline at end of file diff --git a/pages/login/login.vue b/pages/login/login.vue new file mode 100644 index 0000000..d5dc9cf --- /dev/null +++ b/pages/login/login.vue @@ -0,0 +1,195 @@ + + + + + \ No newline at end of file diff --git a/pages/reject/reject.vue b/pages/reject/reject.vue new file mode 100644 index 0000000..6e8547f --- /dev/null +++ b/pages/reject/reject.vue @@ -0,0 +1,70 @@ + + + + + + \ No newline at end of file diff --git a/pages/repair/repair.vue b/pages/repair/repair.vue new file mode 100644 index 0000000..0ad9450 --- /dev/null +++ b/pages/repair/repair.vue @@ -0,0 +1,248 @@ + + + + + + \ No newline at end of file diff --git a/pages/repairList/repairList.vue b/pages/repairList/repairList.vue new file mode 100644 index 0000000..8b1b273 --- /dev/null +++ b/pages/repairList/repairList.vue @@ -0,0 +1,175 @@ + + + + + \ No newline at end of file diff --git a/static/bar/1.png b/static/bar/1.png new file mode 100644 index 0000000000000000000000000000000000000000..fffe4bc55527e5f0d9611b6966e2a671d69e3d56 GIT binary patch literal 2848 zcmV+*3*YpKP)Px<+DSw~RCr$HTYZomMHPQvIy5yPQW%uV;~-H9fkCItLI1wr}#3XmY6 zQN9sSBa#9vKCFrrfg*r)A)07H02K+MQBsJcC{3a_uQ!pR^b|-zC5lS?C~mi(^R{NT z`X;lxbGN&9sml8&wKqMl`}gafexE_u&jt5${4g#Aba!{Zqobqa6aY920A6I~Z2+*z z7*ibU4H;7ceBYnydERx1cnLEfngRAcYweed#p0f^B4W%42!h}!W?l{eA8Y{bIYhi7 z48tvBLBg02ptU|R+VT4lF}>@%0KfpiQ2;P40nE%h5%E$YdZHc)K@bGi+PR2$h_!ZO zu~>X|q@=Z-0Il`K0B}D5c+TRMGV{9Rn=cd!hn36aYY_2jXN&~^A>q4OptRN>2Y?3v zV21PjVIn$nBqX$z0Il`c0N~bSL5R4GnXe(DO*KHx2Y_V&(Ca*3LPWQ@yp)t@U~UIL&!yZD(iaqAgpt{3nl|Bab|C`sB%z9|C~SI3%n$ z#+)I)wblY&NT`B!PsO+qFmvY2w@sQf=|=$YAqVKaMC6`?JRDTUD5d%l@gnDiXNhR8 zdjb-$<4!OB7lwE3>WXx01J+3D}YyB+%xHdr< zIWIe{wTp}~PqhrWqsaIDi#*R03*kz|?2Y*yptY7Gf1b0F5D^!)+lAFye+&TRt~t<| z`(XgMH}MVHZUvN58xip%&H^@-%jJu|V$-S8hkBudnaWp`oD=01iqNOMqjH zxh&5_?HZ%C7MHl{HMZph1VL~NGe4IC@l7HUUw_<1YyFt(H3Gmh@qP5CMvH5B0+do` zBjOKSMa+D)G3MKil#k_et+hmkpL6DXIVNFay>-+jKq+-SBHrOBkP!7kA`%O*&xulM z2_oL&E({Sb3&T*t@l2^nfY$mR09fq2wTqb-w93ZEb~|%XwZi2*j4P!sKtu_os=~~7 z7-MeCdOwo@t@Td<;6&$z?TEOb85`f--F|UIb{Z<$FInQO?Z2w$?6a#>NLha04^no)gqkBC3SC%}8%=Z&#^Q z`g2Oh79x88uusJOp|$>DoT^U#{Ag!q=YnQzyw+O0wu*yNL;e8(gNZ$7=9R{nh0TC> z-u1NBe@mUV*P|eNPA_6LEwAKRv5I8!2OGLBfw@bipQYq`Ej-pa(F(S%EnuuhBuAMe* z+C!T+Z~m_fFs>K8A%A1$L1WAjtt22OA?+~r5Yd23fGnUAW5+UT0y2Dumpso~I505q z%Pe48Ye{;3HF-7?Up_BUTI+WKfSZpzPOMG66Y!ci7SW|47GXr9wf;E(NYs|d2Z-o* zHNcBQb!Gf)PxOhLYm9k(L=)y1?E8M7=XqP5p~DGKO8K7WtxE+uGF~FTHDMU0-d6aoXww6kz({}9GG3fjL9MAJ4x$(Xl zEI&>}C)e76AP7!j=If%9`{9f+a>DzKF|x*r)Qts1ncUpWJU6B6<~juY69A^i*;e_=SFEe!}y-+01->WxverBdm@VzHRG#MMOyL2xNECnsWnhMv%n+b znPC`8y1Hr6T8k4UO%x)liAds>VG{QtB=^k|k>hnzo{5_#U<|;ENxRDdlX?GWt;O1i z`4mg>lQ0a$f;E(;2*_}HWb&5nysX~6{Nj$XImVd3r;(*fXOBgJ&Z!O2H}V5q1u3wJ z6O=S5RED+^d=Lb0W#$b4aI~|ID~RYjS-{++i})8wFF_*`MtuUD4vm(A@9XP3cxY(o z^yD}@0P42BMEz1XF>|spHRF#oA)_T=n4XdDyzl$U^SpyyC6Nh}VC>UTE>DUalT!G-D)s3io%WibJNxT|m!;OEBR zlRzi^8SP|d=?>j$t$i}fA*u&RDYZhHE8{T_645116QGom9KL`*q#5vW5oB#j&r(Eu zyi_Xfo-$?1u4XdNvbI!1)e0i|d{YESdn*74_-YI5XiQxUUW%7)A!O9~##*3)AXvl9 z=frEgCk(?cjhXGsavqsuPfkyqW=@?&WP8_?Q4U6MYvERWeA8WUmvT zl-dxPpid?*BI2E47~arGQS!V-BXe89#{^VQt<)inF<;5E=B(mqHT47l|DHH;;t|`n zZL6la>M0#B@NsXkRUIa)Px<=}AOERCr$HTWgRURTchDheQe?1(Z;N;iXk-1$ih+V5fUoP(%fZJmi@GyVH{h zNO+1U2ua0QK&Zl6LnP^*U0w<10f>>8M%ZF{f|Ldn@I_II0x77dC?h4-LBJXqjm=FT2JGqy?1vACK=>%R7;At^1ROpjG zj`xC$D*-*XaOdGExB`M4fW4DoN!&X5U3_ckLiyi#5ixEAm<|tvfqoEOHNgosz{fl< zCmY9ugmEFja(O&~W{(JillV4uE~N?`u3; zPHTpQjuK!F@M`$@z6R=PAujWBGL$w+(_s$;Hv>3SBkLM3CyVsNcbJSp06kGV0hSbOxhVQ=I-C!|b>VNF%%G2FOT)Mt zZrF@jWn8Wm;1q4;S8Xk!Z{u8fyAeGz`Z;y-PPiSw*E9mxdO7*J`fcWU9fc0?a&50&y3BonizAF82DQzZLLR_PqMD3Y2!< zF1A1>&r5{C$sGuRcOmF2W@SY?z(+bV4lj`r4^bf#Y5}Ihn;^Jco6#mQ&{yb_N7@NK z($%$`=NU%eA#@4c-ngFumczR!I6Iz+;92p7|x51XbcVgv}I?d($I1M}^!2T5^0D+tAC;_I+=Kvh2?fHAQmT*p^ zKE7Q9^$c>y;S!#xh#EuX9U&l-=iWj*3t)H6?3a64ncFT2~)qUEZfhjRYPS1HE3K{I%X#bwgpxA&7 z-z}F80b3jMWsH!Z&a0|YlK{)*l>~0k_PcKo=N59Jf}ZV8OqbUHSXePJVy>4HbsbNY zssxxWZvk+D)@!pEnB6WPANcJmQti6j2;-*1b0EP*N|zfvTdqp$pGtt~^5+1K*E;+O z#Ozjle3#4p44`}4{yauTZh5*NkB9Po^lq3Vw>1K`S{rMCN6|+z=a8Bw7)5~TQtkIM zH01>!nB9txH(h=k!1WD*A{KZ#39h=WNY5bmA1>i<2^||fTRyA*t%3l{Gf2Gb9d*bdvZ@ zF(-$s-!TDZp2dokb&IBGx>N_KI!GgVn}W;zU2yvor^yx_U{Ejk0Nzx8Bk*F;mIK;J zfYOx=n1nc_kdtT11h`Za2=3T{v_L>g?C_ERy#-r-l?E*1aFGbU8+~gglx>u#?g8%O z`zYrliKCUbscr$lYcODYeWE-cf0(w4?LwUa3ulO0H@Oru9@*gCul5K55Y>WPm=fW)M1kY39zbQi|$q8ei@gJ zl%uy-L7W-I0Ml1<%ARjv-*=|smE@Lb0B_u+%jKsGb!{i+MH#EqGeGqSNl-cXayGU+ z+VcdQqAfSonm{6Dtqz$J(keWrOO-J?YlLIGfD%qG%#~n;GPiSIc@N6~d?_63B>>M6 zctwa;8gY|dF1rmtUDSdxbfI8Yl(9+=ghq0F=j&#yDcB0Z^iPaXtayXNME7Z9+ zstvIkf{0T zSp<*5M?VEi089%y2nK!N0fSI3>&j5cCeN0SBo$`zJX(A>5PU50twdmO60r1fTb@q# zt9u(%9n1lKfj+(`KzBH?R06`ffGT)~&5$eD;#OO&BVF!3NpLTSqrwjFf|wFuCl(g8 zl)CAXk)AX!VGZy&`iNH+#OvE~7yVm&+*m7+Ylwh=1ic(p#RAMc4*~JJ7;xxnsu7_6 zZY|?p94V#*fk{vl1uiJsqRxO=>JgC1^F$%;4?8^O*>X&+akWKiq*=oR#3idhYXbzR zW??<>eh|9~Ft3o42uPqNljkRd_;W1_FkPx}TX``x?s_jLu^X<1ux%Eg*Xx?GfT(Q% zau~aMb0rFi%d78j4kYjjN}lm-IV1_HB9tc{@p2M*keVwzHUbh+Vk&sxG|!ebjoDZ2 zR;Ei8M5#v<>TFn1$jPi^kBq~t2%_`m0ne5b8X3D~0y+&og@CXurZUC*B@{LVKI705werzL zXY}kgZQBAH)y)t-9!d*{Y5_7GE`wlBcm}vdThw#hx>C~ux*Z38tbB9K1XvDF4GN-y9a>&_fqL&-emvCy@M?~x%X_xn6Gnm` zLBE%kD9>1vhiav{)OBH^8S?hJ9XN#)sH6*DInL7+VB%o}yBRR|OG&13| z;%J57vNsDgifVo>Oq5FzpEjc}&sFq}$oHUTJLlwwD$6)VRB=HwDVRtkIl1xBRW~1? zD#q|Ji>i<*aT4P-0alhK;f@WxQmzDz$Bf%NMqL8hJl=Mv?tM?d{{fB#uzgr~5n=!U N002ovPDHLkV1lY2CP@GQ literal 0 HcmV?d00001 diff --git a/static/bar/3.png b/static/bar/3.png new file mode 100644 index 0000000000000000000000000000000000000000..75601a6a066917e5008889703ed7e336531f1bb0 GIT binary patch literal 906 zcmV;519kj~P)Px&L`g(JRCr$PTTN>eK@hECa@dRFMbspEaS_((kVU)*3P!=BLL{KzA)x5V-=O&o zp8N=UPzZtna}hmgK-7!KhE!)o771#i-b62Z$Wm_OtPJC3W_o6~cO=!?WI!bP}cdqoY!nN-!&SIpII=iD?llA9RQ91z^N<_`#9$r z0K6e06JP3)ngFHLBqH8m=Hb-n129Cyb!NUwMDuCfry@WpbsPX*qya3D%>)rGCdHFT z!1(z1NUPQQ5(Q%BRYY7(a^UFqQ2;1MeR-ZYy0o;k78gSz0ZOSy05BN>dC$x+(ch)i{CI$|rJ z3*a0Pop+pK8U!SCmGwh?Sq+HTI(wVe+6s< z@3;LxDxlv<+29KSq60(-i4qhkEWLm=LM%I9%^AJ%lFE6XCc+LsvWj7dn+P2ghU955E3CILP&&A?}X4U0QeT#k{%F| zxeZd-;rssG_AU15P=LFM==){?r@1Zu2>|wX0GQd=TCWt5f#722696a$@qH$ueQ~iS z65#v(V?;b124Uu-TI*LuBEk3la{w@dhzCLsYe8#$CNBX8%|T@skdFXhs-p@~07*qoM6N<$g11?YZ~y=R literal 0 HcmV?d00001 diff --git a/static/bar/4.png b/static/bar/4.png new file mode 100644 index 0000000000000000000000000000000000000000..6b7c8c09404509e05f7e1250c7d68442c3f4547b GIT binary patch literal 930 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

JXl9Ee%^~4 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 Buaf`( literal 0 HcmV?d00001 diff --git a/uni_modules/uni-icons/changelog.md b/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..0261131 --- /dev/null +++ b/uni_modules/uni-icons/changelog.md @@ -0,0 +1,42 @@ +## 2.0.10(2024-06-07) +- 优化 uni-app x 中,size 属性的类型 +## 2.0.9(2024-01-12) +fix: 修复图标大小默认值错误的问题 +## 2.0.8(2023-12-14) +- 修复 项目未使用 ts 情况下,打包报错的bug +## 2.0.7(2023-12-14) +- 修复 size 属性为 string 时,不加单位导致尺寸异常的bug +## 2.0.6(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.5(2023-12-11) +- 优化 兼容老版本icon类型,如 top ,bottom 等 +## 2.0.4(2023-12-06) +- 优化 uni-app x 下示例项目图标排序 +## 2.0.3(2023-12-06) +- 修复 nvue下引入组件报错的bug +## 2.0.2(2023-12-05) +-优化 size 属性支持单位 +## 2.0.1(2023-12-05) +- 新增 uni-app x 支持定义图标 +## 1.3.5(2022-01-24) +- 优化 size 属性可以传入不带单位的字符串数值 +## 1.3.4(2022-01-24) +- 优化 size 支持其他单位 +## 1.3.3(2022-01-17) +- 修复 nvue 有些图标不显示的bug,兼容老版本图标 +## 1.3.2(2021-12-01) +- 优化 示例可复制图标名称 +## 1.3.1(2021-11-23) +- 优化 兼容旧组件 type 值 +## 1.3.0(2021-11-19) +- 新增 更多图标 +- 优化 自定义图标使用方式 +- 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) +- 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) +## 1.1.7(2021-11-08) +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.5(2021-05-12) +- 新增 组件示例地址 +## 1.1.4(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue b/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue new file mode 100644 index 0000000..8740559 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.uvue @@ -0,0 +1,91 @@ + + + + + diff --git a/uni_modules/uni-icons/components/uni-icons/uni-icons.vue b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue new file mode 100644 index 0000000..7da5356 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,110 @@ + + + + + diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.css b/uni_modules/uni-icons/components/uni-icons/uniicons.css new file mode 100644 index 0000000..0a6b6fe --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,664 @@ + +.uniui-cart-filled:before { + content: "\e6d0"; +} + +.uniui-gift-filled:before { + content: "\e6c4"; +} + +.uniui-color:before { + content: "\e6cf"; +} + +.uniui-wallet:before { + content: "\e6b1"; +} + +.uniui-settings-filled:before { + content: "\e6ce"; +} + +.uniui-auth-filled:before { + content: "\e6cc"; +} + +.uniui-shop-filled:before { + content: "\e6cd"; +} + +.uniui-staff-filled:before { + content: "\e6cb"; +} + +.uniui-vip-filled:before { + content: "\e6c6"; +} + +.uniui-plus-filled:before { + content: "\e6c7"; +} + +.uniui-folder-add-filled:before { + content: "\e6c8"; +} + +.uniui-color-filled:before { + content: "\e6c9"; +} + +.uniui-tune-filled:before { + content: "\e6ca"; +} + +.uniui-calendar-filled:before { + content: "\e6c0"; +} + +.uniui-notification-filled:before { + content: "\e6c1"; +} + +.uniui-wallet-filled:before { + content: "\e6c2"; +} + +.uniui-medal-filled:before { + content: "\e6c3"; +} + +.uniui-fire-filled:before { + content: "\e6c5"; +} + +.uniui-refreshempty:before { + content: "\e6bf"; +} + +.uniui-location-filled:before { + content: "\e6af"; +} + +.uniui-person-filled:before { + content: "\e69d"; +} + +.uniui-personadd-filled:before { + content: "\e698"; +} + +.uniui-arrowthinleft:before { + content: "\e6d2"; +} + +.uniui-arrowthinup:before { + content: "\e6d3"; +} + +.uniui-arrowthindown:before { + content: "\e6d4"; +} + +.uniui-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthinright:before { + content: "\e6d1"; +} + +.uniui-down:before { + content: "\e6b8"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowright:before { + content: "\e6d5"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-up:before { + content: "\e6b6"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowup:before { + content: "\e6d6"; +} + +.uniui-eye:before { + content: "\e651"; +} + +.uniui-eye-filled:before { + content: "\e66a"; +} + +.uniui-eye-slash:before { + content: "\e6b3"; +} + +.uniui-eye-slash-filled:before { + content: "\e6b4"; +} + +.uniui-info-filled:before { + content: "\e649"; +} + +.uniui-reload:before { + content: "\e6b2"; +} + +.uniui-micoff-filled:before { + content: "\e6b0"; +} + +.uniui-map-pin-ellipse:before { + content: "\e6ac"; +} + +.uniui-map-pin:before { + content: "\e6ad"; +} + +.uniui-location:before { + content: "\e6ae"; +} + +.uniui-starhalf:before { + content: "\e683"; +} + +.uniui-star:before { + content: "\e688"; +} + +.uniui-star-filled:before { + content: "\e68f"; +} + +.uniui-calendar:before { + content: "\e6a0"; +} + +.uniui-fire:before { + content: "\e6a1"; +} + +.uniui-medal:before { + content: "\e6a2"; +} + +.uniui-font:before { + content: "\e6a3"; +} + +.uniui-gift:before { + content: "\e6a4"; +} + +.uniui-link:before { + content: "\e6a5"; +} + +.uniui-notification:before { + content: "\e6a6"; +} + +.uniui-staff:before { + content: "\e6a7"; +} + +.uniui-vip:before { + content: "\e6a8"; +} + +.uniui-folder-add:before { + content: "\e6a9"; +} + +.uniui-tune:before { + content: "\e6aa"; +} + +.uniui-auth:before { + content: "\e6ab"; +} + +.uniui-person:before { + content: "\e699"; +} + +.uniui-email-filled:before { + content: "\e69a"; +} + +.uniui-phone-filled:before { + content: "\e69b"; +} + +.uniui-phone:before { + content: "\e69c"; +} + +.uniui-email:before { + content: "\e69e"; +} + +.uniui-personadd:before { + content: "\e69f"; +} + +.uniui-chatboxes-filled:before { + content: "\e692"; +} + +.uniui-contact:before { + content: "\e693"; +} + +.uniui-chatbubble-filled:before { + content: "\e694"; +} + +.uniui-contact-filled:before { + content: "\e695"; +} + +.uniui-chatboxes:before { + content: "\e696"; +} + +.uniui-chatbubble:before { + content: "\e697"; +} + +.uniui-upload-filled:before { + content: "\e68e"; +} + +.uniui-upload:before { + content: "\e690"; +} + +.uniui-weixin:before { + content: "\e691"; +} + +.uniui-compose:before { + content: "\e67f"; +} + +.uniui-qq:before { + content: "\e680"; +} + +.uniui-download-filled:before { + content: "\e681"; +} + +.uniui-pyq:before { + content: "\e682"; +} + +.uniui-sound:before { + content: "\e684"; +} + +.uniui-trash-filled:before { + content: "\e685"; +} + +.uniui-sound-filled:before { + content: "\e686"; +} + +.uniui-trash:before { + content: "\e687"; +} + +.uniui-videocam-filled:before { + content: "\e689"; +} + +.uniui-spinner-cycle:before { + content: "\e68a"; +} + +.uniui-weibo:before { + content: "\e68b"; +} + +.uniui-videocam:before { + content: "\e68c"; +} + +.uniui-download:before { + content: "\e68d"; +} + +.uniui-help:before { + content: "\e679"; +} + +.uniui-navigate-filled:before { + content: "\e67a"; +} + +.uniui-plusempty:before { + content: "\e67b"; +} + +.uniui-smallcircle:before { + content: "\e67c"; +} + +.uniui-minus-filled:before { + content: "\e67d"; +} + +.uniui-micoff:before { + content: "\e67e"; +} + +.uniui-closeempty:before { + content: "\e66c"; +} + +.uniui-clear:before { + content: "\e66d"; +} + +.uniui-navigate:before { + content: "\e66e"; +} + +.uniui-minus:before { + content: "\e66f"; +} + +.uniui-image:before { + content: "\e670"; +} + +.uniui-mic:before { + content: "\e671"; +} + +.uniui-paperplane:before { + content: "\e672"; +} + +.uniui-close:before { + content: "\e673"; +} + +.uniui-help-filled:before { + content: "\e674"; +} + +.uniui-paperplane-filled:before { + content: "\e675"; +} + +.uniui-plus:before { + content: "\e676"; +} + +.uniui-mic-filled:before { + content: "\e677"; +} + +.uniui-image-filled:before { + content: "\e678"; +} + +.uniui-locked-filled:before { + content: "\e668"; +} + +.uniui-info:before { + content: "\e669"; +} + +.uniui-locked:before { + content: "\e66b"; +} + +.uniui-camera-filled:before { + content: "\e658"; +} + +.uniui-chat-filled:before { + content: "\e659"; +} + +.uniui-camera:before { + content: "\e65a"; +} + +.uniui-circle:before { + content: "\e65b"; +} + +.uniui-checkmarkempty:before { + content: "\e65c"; +} + +.uniui-chat:before { + content: "\e65d"; +} + +.uniui-circle-filled:before { + content: "\e65e"; +} + +.uniui-flag:before { + content: "\e65f"; +} + +.uniui-flag-filled:before { + content: "\e660"; +} + +.uniui-gear-filled:before { + content: "\e661"; +} + +.uniui-home:before { + content: "\e662"; +} + +.uniui-home-filled:before { + content: "\e663"; +} + +.uniui-gear:before { + content: "\e664"; +} + +.uniui-smallcircle-filled:before { + content: "\e665"; +} + +.uniui-map-filled:before { + content: "\e666"; +} + +.uniui-map:before { + content: "\e667"; +} + +.uniui-refresh-filled:before { + content: "\e656"; +} + +.uniui-refresh:before { + content: "\e657"; +} + +.uniui-cloud-upload:before { + content: "\e645"; +} + +.uniui-cloud-download-filled:before { + content: "\e646"; +} + +.uniui-cloud-download:before { + content: "\e647"; +} + +.uniui-cloud-upload-filled:before { + content: "\e648"; +} + +.uniui-redo:before { + content: "\e64a"; +} + +.uniui-images-filled:before { + content: "\e64b"; +} + +.uniui-undo-filled:before { + content: "\e64c"; +} + +.uniui-more:before { + content: "\e64d"; +} + +.uniui-more-filled:before { + content: "\e64e"; +} + +.uniui-undo:before { + content: "\e64f"; +} + +.uniui-images:before { + content: "\e650"; +} + +.uniui-paperclip:before { + content: "\e652"; +} + +.uniui-settings:before { + content: "\e653"; +} + +.uniui-search:before { + content: "\e654"; +} + +.uniui-redo-filled:before { + content: "\e655"; +} + +.uniui-list:before { + content: "\e644"; +} + +.uniui-mail-open-filled:before { + content: "\e63a"; +} + +.uniui-hand-down-filled:before { + content: "\e63c"; +} + +.uniui-hand-down:before { + content: "\e63d"; +} + +.uniui-hand-up-filled:before { + content: "\e63e"; +} + +.uniui-hand-up:before { + content: "\e63f"; +} + +.uniui-heart-filled:before { + content: "\e641"; +} + +.uniui-mail-open:before { + content: "\e643"; +} + +.uniui-heart:before { + content: "\e639"; +} + +.uniui-loop:before { + content: "\e633"; +} + +.uniui-pulldown:before { + content: "\e632"; +} + +.uniui-scan:before { + content: "\e62a"; +} + +.uniui-bars:before { + content: "\e627"; +} + +.uniui-checkbox:before { + content: "\e62b"; +} + +.uniui-checkbox-filled:before { + content: "\e62c"; +} + +.uniui-shop:before { + content: "\e62f"; +} + +.uniui-headphones:before { + content: "\e630"; +} + +.uniui-cart:before { + content: "\e631"; +} diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons.ttf b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf new file mode 100644 index 0000000000000000000000000000000000000000..14696d038d828073edac09ea4e5ba1dec2f58115 GIT binary patch literal 35824 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 F{2S@rCxHL} literal 0 HcmV?d00001 diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts b/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts new file mode 100644 index 0000000..98e93aa --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uniicons_file.ts @@ -0,0 +1,664 @@ + +export type IconsData = { + id : string + name : string + font_family : string + css_prefix_text : string + description : string + glyphs : Array +} + +export type IconsDataItem = { + font_class : string + unicode : string +} + + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] as IconsDataItem[] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js b/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js new file mode 100644 index 0000000..1cd11e1 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uniicons_file_vue.js @@ -0,0 +1,649 @@ + +export const fontData = [ + { + "font_class": "arrow-down", + "unicode": "\ue6be" + }, + { + "font_class": "arrow-left", + "unicode": "\ue6bc" + }, + { + "font_class": "arrow-right", + "unicode": "\ue6bb" + }, + { + "font_class": "arrow-up", + "unicode": "\ue6bd" + }, + { + "font_class": "auth", + "unicode": "\ue6ab" + }, + { + "font_class": "auth-filled", + "unicode": "\ue6cc" + }, + { + "font_class": "back", + "unicode": "\ue6b9" + }, + { + "font_class": "bars", + "unicode": "\ue627" + }, + { + "font_class": "calendar", + "unicode": "\ue6a0" + }, + { + "font_class": "calendar-filled", + "unicode": "\ue6c0" + }, + { + "font_class": "camera", + "unicode": "\ue65a" + }, + { + "font_class": "camera-filled", + "unicode": "\ue658" + }, + { + "font_class": "cart", + "unicode": "\ue631" + }, + { + "font_class": "cart-filled", + "unicode": "\ue6d0" + }, + { + "font_class": "chat", + "unicode": "\ue65d" + }, + { + "font_class": "chat-filled", + "unicode": "\ue659" + }, + { + "font_class": "chatboxes", + "unicode": "\ue696" + }, + { + "font_class": "chatboxes-filled", + "unicode": "\ue692" + }, + { + "font_class": "chatbubble", + "unicode": "\ue697" + }, + { + "font_class": "chatbubble-filled", + "unicode": "\ue694" + }, + { + "font_class": "checkbox", + "unicode": "\ue62b" + }, + { + "font_class": "checkbox-filled", + "unicode": "\ue62c" + }, + { + "font_class": "checkmarkempty", + "unicode": "\ue65c" + }, + { + "font_class": "circle", + "unicode": "\ue65b" + }, + { + "font_class": "circle-filled", + "unicode": "\ue65e" + }, + { + "font_class": "clear", + "unicode": "\ue66d" + }, + { + "font_class": "close", + "unicode": "\ue673" + }, + { + "font_class": "closeempty", + "unicode": "\ue66c" + }, + { + "font_class": "cloud-download", + "unicode": "\ue647" + }, + { + "font_class": "cloud-download-filled", + "unicode": "\ue646" + }, + { + "font_class": "cloud-upload", + "unicode": "\ue645" + }, + { + "font_class": "cloud-upload-filled", + "unicode": "\ue648" + }, + { + "font_class": "color", + "unicode": "\ue6cf" + }, + { + "font_class": "color-filled", + "unicode": "\ue6c9" + }, + { + "font_class": "compose", + "unicode": "\ue67f" + }, + { + "font_class": "contact", + "unicode": "\ue693" + }, + { + "font_class": "contact-filled", + "unicode": "\ue695" + }, + { + "font_class": "down", + "unicode": "\ue6b8" + }, + { + "font_class": "bottom", + "unicode": "\ue6b8" + }, + { + "font_class": "download", + "unicode": "\ue68d" + }, + { + "font_class": "download-filled", + "unicode": "\ue681" + }, + { + "font_class": "email", + "unicode": "\ue69e" + }, + { + "font_class": "email-filled", + "unicode": "\ue69a" + }, + { + "font_class": "eye", + "unicode": "\ue651" + }, + { + "font_class": "eye-filled", + "unicode": "\ue66a" + }, + { + "font_class": "eye-slash", + "unicode": "\ue6b3" + }, + { + "font_class": "eye-slash-filled", + "unicode": "\ue6b4" + }, + { + "font_class": "fire", + "unicode": "\ue6a1" + }, + { + "font_class": "fire-filled", + "unicode": "\ue6c5" + }, + { + "font_class": "flag", + "unicode": "\ue65f" + }, + { + "font_class": "flag-filled", + "unicode": "\ue660" + }, + { + "font_class": "folder-add", + "unicode": "\ue6a9" + }, + { + "font_class": "folder-add-filled", + "unicode": "\ue6c8" + }, + { + "font_class": "font", + "unicode": "\ue6a3" + }, + { + "font_class": "forward", + "unicode": "\ue6ba" + }, + { + "font_class": "gear", + "unicode": "\ue664" + }, + { + "font_class": "gear-filled", + "unicode": "\ue661" + }, + { + "font_class": "gift", + "unicode": "\ue6a4" + }, + { + "font_class": "gift-filled", + "unicode": "\ue6c4" + }, + { + "font_class": "hand-down", + "unicode": "\ue63d" + }, + { + "font_class": "hand-down-filled", + "unicode": "\ue63c" + }, + { + "font_class": "hand-up", + "unicode": "\ue63f" + }, + { + "font_class": "hand-up-filled", + "unicode": "\ue63e" + }, + { + "font_class": "headphones", + "unicode": "\ue630" + }, + { + "font_class": "heart", + "unicode": "\ue639" + }, + { + "font_class": "heart-filled", + "unicode": "\ue641" + }, + { + "font_class": "help", + "unicode": "\ue679" + }, + { + "font_class": "help-filled", + "unicode": "\ue674" + }, + { + "font_class": "home", + "unicode": "\ue662" + }, + { + "font_class": "home-filled", + "unicode": "\ue663" + }, + { + "font_class": "image", + "unicode": "\ue670" + }, + { + "font_class": "image-filled", + "unicode": "\ue678" + }, + { + "font_class": "images", + "unicode": "\ue650" + }, + { + "font_class": "images-filled", + "unicode": "\ue64b" + }, + { + "font_class": "info", + "unicode": "\ue669" + }, + { + "font_class": "info-filled", + "unicode": "\ue649" + }, + { + "font_class": "left", + "unicode": "\ue6b7" + }, + { + "font_class": "link", + "unicode": "\ue6a5" + }, + { + "font_class": "list", + "unicode": "\ue644" + }, + { + "font_class": "location", + "unicode": "\ue6ae" + }, + { + "font_class": "location-filled", + "unicode": "\ue6af" + }, + { + "font_class": "locked", + "unicode": "\ue66b" + }, + { + "font_class": "locked-filled", + "unicode": "\ue668" + }, + { + "font_class": "loop", + "unicode": "\ue633" + }, + { + "font_class": "mail-open", + "unicode": "\ue643" + }, + { + "font_class": "mail-open-filled", + "unicode": "\ue63a" + }, + { + "font_class": "map", + "unicode": "\ue667" + }, + { + "font_class": "map-filled", + "unicode": "\ue666" + }, + { + "font_class": "map-pin", + "unicode": "\ue6ad" + }, + { + "font_class": "map-pin-ellipse", + "unicode": "\ue6ac" + }, + { + "font_class": "medal", + "unicode": "\ue6a2" + }, + { + "font_class": "medal-filled", + "unicode": "\ue6c3" + }, + { + "font_class": "mic", + "unicode": "\ue671" + }, + { + "font_class": "mic-filled", + "unicode": "\ue677" + }, + { + "font_class": "micoff", + "unicode": "\ue67e" + }, + { + "font_class": "micoff-filled", + "unicode": "\ue6b0" + }, + { + "font_class": "minus", + "unicode": "\ue66f" + }, + { + "font_class": "minus-filled", + "unicode": "\ue67d" + }, + { + "font_class": "more", + "unicode": "\ue64d" + }, + { + "font_class": "more-filled", + "unicode": "\ue64e" + }, + { + "font_class": "navigate", + "unicode": "\ue66e" + }, + { + "font_class": "navigate-filled", + "unicode": "\ue67a" + }, + { + "font_class": "notification", + "unicode": "\ue6a6" + }, + { + "font_class": "notification-filled", + "unicode": "\ue6c1" + }, + { + "font_class": "paperclip", + "unicode": "\ue652" + }, + { + "font_class": "paperplane", + "unicode": "\ue672" + }, + { + "font_class": "paperplane-filled", + "unicode": "\ue675" + }, + { + "font_class": "person", + "unicode": "\ue699" + }, + { + "font_class": "person-filled", + "unicode": "\ue69d" + }, + { + "font_class": "personadd", + "unicode": "\ue69f" + }, + { + "font_class": "personadd-filled", + "unicode": "\ue698" + }, + { + "font_class": "personadd-filled-copy", + "unicode": "\ue6d1" + }, + { + "font_class": "phone", + "unicode": "\ue69c" + }, + { + "font_class": "phone-filled", + "unicode": "\ue69b" + }, + { + "font_class": "plus", + "unicode": "\ue676" + }, + { + "font_class": "plus-filled", + "unicode": "\ue6c7" + }, + { + "font_class": "plusempty", + "unicode": "\ue67b" + }, + { + "font_class": "pulldown", + "unicode": "\ue632" + }, + { + "font_class": "pyq", + "unicode": "\ue682" + }, + { + "font_class": "qq", + "unicode": "\ue680" + }, + { + "font_class": "redo", + "unicode": "\ue64a" + }, + { + "font_class": "redo-filled", + "unicode": "\ue655" + }, + { + "font_class": "refresh", + "unicode": "\ue657" + }, + { + "font_class": "refresh-filled", + "unicode": "\ue656" + }, + { + "font_class": "refreshempty", + "unicode": "\ue6bf" + }, + { + "font_class": "reload", + "unicode": "\ue6b2" + }, + { + "font_class": "right", + "unicode": "\ue6b5" + }, + { + "font_class": "scan", + "unicode": "\ue62a" + }, + { + "font_class": "search", + "unicode": "\ue654" + }, + { + "font_class": "settings", + "unicode": "\ue653" + }, + { + "font_class": "settings-filled", + "unicode": "\ue6ce" + }, + { + "font_class": "shop", + "unicode": "\ue62f" + }, + { + "font_class": "shop-filled", + "unicode": "\ue6cd" + }, + { + "font_class": "smallcircle", + "unicode": "\ue67c" + }, + { + "font_class": "smallcircle-filled", + "unicode": "\ue665" + }, + { + "font_class": "sound", + "unicode": "\ue684" + }, + { + "font_class": "sound-filled", + "unicode": "\ue686" + }, + { + "font_class": "spinner-cycle", + "unicode": "\ue68a" + }, + { + "font_class": "staff", + "unicode": "\ue6a7" + }, + { + "font_class": "staff-filled", + "unicode": "\ue6cb" + }, + { + "font_class": "star", + "unicode": "\ue688" + }, + { + "font_class": "star-filled", + "unicode": "\ue68f" + }, + { + "font_class": "starhalf", + "unicode": "\ue683" + }, + { + "font_class": "trash", + "unicode": "\ue687" + }, + { + "font_class": "trash-filled", + "unicode": "\ue685" + }, + { + "font_class": "tune", + "unicode": "\ue6aa" + }, + { + "font_class": "tune-filled", + "unicode": "\ue6ca" + }, + { + "font_class": "undo", + "unicode": "\ue64f" + }, + { + "font_class": "undo-filled", + "unicode": "\ue64c" + }, + { + "font_class": "up", + "unicode": "\ue6b6" + }, + { + "font_class": "top", + "unicode": "\ue6b6" + }, + { + "font_class": "upload", + "unicode": "\ue690" + }, + { + "font_class": "upload-filled", + "unicode": "\ue68e" + }, + { + "font_class": "videocam", + "unicode": "\ue68c" + }, + { + "font_class": "videocam-filled", + "unicode": "\ue689" + }, + { + "font_class": "vip", + "unicode": "\ue6a8" + }, + { + "font_class": "vip-filled", + "unicode": "\ue6c6" + }, + { + "font_class": "wallet", + "unicode": "\ue6b1" + }, + { + "font_class": "wallet-filled", + "unicode": "\ue6c2" + }, + { + "font_class": "weibo", + "unicode": "\ue68b" + }, + { + "font_class": "weixin", + "unicode": "\ue691" + } +] + +// export const fontData = JSON.parse(fontDataJson) diff --git a/uni_modules/uni-icons/package.json b/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..6b681b4 --- /dev/null +++ b/uni_modules/uni-icons/package.json @@ -0,0 +1,89 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "2.0.10", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y", + "alipay": "n" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "y", + "app-uvue": "y" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "钉钉": "y", + "快手": "y", + "飞书": "y", + "京东": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-icons/readme.md b/uni_modules/uni-icons/readme.md new file mode 100644 index 0000000..86234ba --- /dev/null +++ b/uni_modules/uni-icons/readme.md @@ -0,0 +1,8 @@ +## Icons 图标 +> **组件名:uni-icons** +> 代码块: `uIcons` + +用于展示 icons 图标 。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 diff --git a/uni_modules/uni-scss/changelog.md b/uni_modules/uni-scss/changelog.md new file mode 100644 index 0000000..b863bb0 --- /dev/null +++ b/uni_modules/uni-scss/changelog.md @@ -0,0 +1,8 @@ +## 1.0.3(2022-01-21) +- 优化 组件示例 +## 1.0.2(2021-11-22) +- 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 +## 1.0.1(2021-11-22) +- 修复 vue3中scss语法兼容问题 +## 1.0.0(2021-11-18) +- init diff --git a/uni_modules/uni-scss/index.scss b/uni_modules/uni-scss/index.scss new file mode 100644 index 0000000..1744a5f --- /dev/null +++ b/uni_modules/uni-scss/index.scss @@ -0,0 +1 @@ +@import './styles/index.scss'; diff --git a/uni_modules/uni-scss/package.json b/uni_modules/uni-scss/package.json new file mode 100644 index 0000000..7cc0ccb --- /dev/null +++ b/uni_modules/uni-scss/package.json @@ -0,0 +1,82 @@ +{ + "id": "uni-scss", + "displayName": "uni-scss 辅助样式", + "version": "1.0.3", + "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", + "keywords": [ + "uni-scss", + "uni-ui", + "辅助样式" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.1.0" + }, + "dcloudext": { + "category": [ + "JS SDK", + "通用 SDK" + ], + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" + }, + "uni_modules": { + "dependencies": [], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y" + }, + "快应用": { + "华为": "n", + "联盟": "n" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/uni-scss/readme.md b/uni_modules/uni-scss/readme.md new file mode 100644 index 0000000..b7d1c25 --- /dev/null +++ b/uni_modules/uni-scss/readme.md @@ -0,0 +1,4 @@ +`uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/index.scss b/uni_modules/uni-scss/styles/index.scss new file mode 100644 index 0000000..ffac4fe --- /dev/null +++ b/uni_modules/uni-scss/styles/index.scss @@ -0,0 +1,7 @@ +@import './setting/_variables.scss'; +@import './setting/_border.scss'; +@import './setting/_color.scss'; +@import './setting/_space.scss'; +@import './setting/_radius.scss'; +@import './setting/_text.scss'; +@import './setting/_styles.scss'; diff --git a/uni_modules/uni-scss/styles/setting/_border.scss b/uni_modules/uni-scss/styles/setting/_border.scss new file mode 100644 index 0000000..12a11c3 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_border.scss @@ -0,0 +1,3 @@ +.uni-border { + border: 1px $uni-border-1 solid; +} \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/setting/_color.scss b/uni_modules/uni-scss/styles/setting/_color.scss new file mode 100644 index 0000000..1ededd9 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_color.scss @@ -0,0 +1,66 @@ + +// TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 +// @mixin get-styles($k,$c) { +// @if $k == size or $k == weight{ +// font-#{$k}:#{$c} +// }@else{ +// #{$k}:#{$c} +// } +// } +$uni-ui-color:( + // 主色 + primary: $uni-primary, + primary-disable: $uni-primary-disable, + primary-light: $uni-primary-light, + // 辅助色 + success: $uni-success, + success-disable: $uni-success-disable, + success-light: $uni-success-light, + warning: $uni-warning, + warning-disable: $uni-warning-disable, + warning-light: $uni-warning-light, + error: $uni-error, + error-disable: $uni-error-disable, + error-light: $uni-error-light, + info: $uni-info, + info-disable: $uni-info-disable, + info-light: $uni-info-light, + // 中性色 + main-color: $uni-main-color, + base-color: $uni-base-color, + secondary-color: $uni-secondary-color, + extra-color: $uni-extra-color, + // 背景色 + bg-color: $uni-bg-color, + // 边框颜色 + border-1: $uni-border-1, + border-2: $uni-border-2, + border-3: $uni-border-3, + border-4: $uni-border-4, + // 黑色 + black:$uni-black, + // 白色 + white:$uni-white, + // 透明 + transparent:$uni-transparent +) !default; +@each $key, $child in $uni-ui-color { + .uni-#{"" + $key} { + color: $child; + } + .uni-#{"" + $key}-bg { + background-color: $child; + } +} +.uni-shadow-sm { + box-shadow: $uni-shadow-sm; +} +.uni-shadow-base { + box-shadow: $uni-shadow-base; +} +.uni-shadow-lg { + box-shadow: $uni-shadow-lg; +} +.uni-mask { + background-color:$uni-mask; +} diff --git a/uni_modules/uni-scss/styles/setting/_radius.scss b/uni_modules/uni-scss/styles/setting/_radius.scss new file mode 100644 index 0000000..9a0428b --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_radius.scss @@ -0,0 +1,55 @@ +@mixin radius($r,$d:null ,$important: false){ + $radius-value:map-get($uni-radius, $r) if($important, !important, null); + // Key exists within the $uni-radius variable + @if (map-has-key($uni-radius, $r) and $d){ + @if $d == t { + border-top-left-radius:$radius-value; + border-top-right-radius:$radius-value; + }@else if $d == r { + border-top-right-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == b { + border-bottom-left-radius:$radius-value; + border-bottom-right-radius:$radius-value; + }@else if $d == l { + border-top-left-radius:$radius-value; + border-bottom-left-radius:$radius-value; + }@else if $d == tl { + border-top-left-radius:$radius-value; + }@else if $d == tr { + border-top-right-radius:$radius-value; + }@else if $d == br { + border-bottom-right-radius:$radius-value; + }@else if $d == bl { + border-bottom-left-radius:$radius-value; + } + }@else{ + border-radius:$radius-value; + } +} + +@each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $key} { + @include radius($key) + } + }@else{ + .uni-radius { + @include radius($key) + } + } +} + +@each $direction in t, r, b, l,tl, tr, br, bl { + @each $key, $child in $uni-radius { + @if($key){ + .uni-radius-#{"" + $direction}-#{"" + $key} { + @include radius($key,$direction,false) + } + }@else{ + .uni-radius-#{$direction} { + @include radius($key,$direction,false) + } + } + } +} diff --git a/uni_modules/uni-scss/styles/setting/_space.scss b/uni_modules/uni-scss/styles/setting/_space.scss new file mode 100644 index 0000000..3c89528 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_space.scss @@ -0,0 +1,56 @@ + +@mixin fn($space,$direction,$size,$n) { + @if $n { + #{$space}-#{$direction}: #{$size*$uni-space-root}px + } @else { + #{$space}-#{$direction}: #{-$size*$uni-space-root}px + } +} +@mixin get-styles($direction,$i,$space,$n){ + @if $direction == t { + @include fn($space, top,$i,$n); + } + @if $direction == r { + @include fn($space, right,$i,$n); + } + @if $direction == b { + @include fn($space, bottom,$i,$n); + } + @if $direction == l { + @include fn($space, left,$i,$n); + } + @if $direction == x { + @include fn($space, left,$i,$n); + @include fn($space, right,$i,$n); + } + @if $direction == y { + @include fn($space, top,$i,$n); + @include fn($space, bottom,$i,$n); + } + @if $direction == a { + @if $n { + #{$space}:#{$i*$uni-space-root}px; + } @else { + #{$space}:#{-$i*$uni-space-root}px; + } + } +} + +@each $orientation in m,p { + $space: margin; + @if $orientation == m { + $space: margin; + } @else { + $space: padding; + } + @for $i from 0 through 16 { + @each $direction in t, r, b, l, x, y, a { + .uni-#{$orientation}#{$direction}-#{$i} { + @include get-styles($direction,$i,$space,true); + } + .uni-#{$orientation}#{$direction}-n#{$i} { + @include get-styles($direction,$i,$space,false); + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-scss/styles/setting/_styles.scss b/uni_modules/uni-scss/styles/setting/_styles.scss new file mode 100644 index 0000000..689afec --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_styles.scss @@ -0,0 +1,167 @@ +/* #ifndef APP-NVUE */ + +$-color-white:#fff; +$-color-black:#000; +@mixin base-style($color) { + color: #fff; + background-color: $color; + border-color: mix($-color-black, $color, 8%); + &:not([hover-class]):active { + background: mix($-color-black, $color, 10%); + border-color: mix($-color-black, $color, 20%); + color: $-color-white; + outline: none; + } +} +@mixin is-color($color) { + @include base-style($color); + &[loading] { + @include base-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &[loading], + &:not([hover-class]):active { + color: $-color-white; + border-color: mix(darken($color,10%), $-color-white); + background-color: mix($color, $-color-white); + } + } + +} +@mixin base-plain-style($color) { + color:$color; + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 70%); + &:not([hover-class]):active { + background: mix($-color-white, $color, 80%); + color: $color; + outline: none; + border-color: mix($-color-white, $color, 50%); + } +} +@mixin is-plain($color){ + &[plain] { + @include base-plain-style($color); + &[loading] { + @include base-plain-style($color); + &::before { + margin-right:5px; + } + } + &[disabled] { + &, + &:active { + color: mix($-color-white, $color, 40%); + background-color: mix($-color-white, $color, 90%); + border-color: mix($-color-white, $color, 80%); + } + } + } +} + + +.uni-btn { + margin: 5px; + color: #393939; + border:1px solid #ccc; + font-size: 16px; + font-weight: 200; + background-color: #F9F9F9; + // TODO 暂时处理边框隐藏一边的问题 + overflow: visible; + &::after{ + border: none; + } + + &:not([type]),&[type=default] { + color: #999; + &[loading] { + background: none; + &::before { + margin-right:5px; + } + } + + + + &[disabled]{ + color: mix($-color-white, #999, 60%); + &, + &[loading], + &:active { + color: mix($-color-white, #999, 60%); + background-color: mix($-color-white,$-color-black , 98%); + border-color: mix($-color-white, #999, 85%); + } + } + + &[plain] { + color: #999; + background: none; + border-color: $uni-border-1; + &:not([hover-class]):active { + background: none; + color: mix($-color-white, $-color-black, 80%); + border-color: mix($-color-white, $-color-black, 90%); + outline: none; + } + &[disabled]{ + &, + &[loading], + &:active { + background: none; + color: mix($-color-white, #999, 60%); + border-color: mix($-color-white, #999, 85%); + } + } + } + } + + &:not([hover-class]):active { + color: mix($-color-white, $-color-black, 50%); + } + + &[size=mini] { + font-size: 16px; + font-weight: 200; + border-radius: 8px; + } + + + + &.uni-btn-small { + font-size: 14px; + } + &.uni-btn-mini { + font-size: 12px; + } + + &.uni-btn-radius { + border-radius: 999px; + } + &[type=primary] { + @include is-color($uni-primary); + @include is-plain($uni-primary) + } + &[type=success] { + @include is-color($uni-success); + @include is-plain($uni-success) + } + &[type=error] { + @include is-color($uni-error); + @include is-plain($uni-error) + } + &[type=warning] { + @include is-color($uni-warning); + @include is-plain($uni-warning) + } + &[type=info] { + @include is-color($uni-info); + @include is-plain($uni-info) + } +} +/* #endif */ diff --git a/uni_modules/uni-scss/styles/setting/_text.scss b/uni_modules/uni-scss/styles/setting/_text.scss new file mode 100644 index 0000000..a34d08f --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_text.scss @@ -0,0 +1,24 @@ +@mixin get-styles($k,$c) { + @if $k == size or $k == weight{ + font-#{$k}:#{$c} + }@else{ + #{$k}:#{$c} + } +} + +@each $key, $child in $uni-headings { + /* #ifndef APP-NVUE */ + .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ + /* #ifdef APP-NVUE */ + .container .uni-#{$key} { + @each $k, $c in $child { + @include get-styles($k,$c) + } + } + /* #endif */ +} diff --git a/uni_modules/uni-scss/styles/setting/_variables.scss b/uni_modules/uni-scss/styles/setting/_variables.scss new file mode 100644 index 0000000..557d3d7 --- /dev/null +++ b/uni_modules/uni-scss/styles/setting/_variables.scss @@ -0,0 +1,146 @@ +// @use "sass:math"; +@import '../tools/functions.scss'; +// 间距基础倍数 +$uni-space-root: 2 !default; +// 边框半径默认值 +$uni-radius-root:5px !default; +$uni-radius: () !default; +// 边框半径断点 +$uni-radius: map-deep-merge( + ( + 0: 0, + // TODO 当前版本暂时不支持 sm 属性 + // 'sm': math.div($uni-radius-root, 2), + null: $uni-radius-root, + 'lg': $uni-radius-root * 2, + 'xl': $uni-radius-root * 6, + 'pill': 9999px, + 'circle': 50% + ), + $uni-radius +); +// 字体家族 +$body-font-family: 'Roboto', sans-serif !default; +// 文本 +$heading-font-family: $body-font-family !default; +$uni-headings: () !default; +$letterSpacing: -0.01562em; +$uni-headings: map-deep-merge( + ( + 'h1': ( + size: 32px, + weight: 300, + line-height: 50px, + // letter-spacing:-0.01562em + ), + 'h2': ( + size: 28px, + weight: 300, + line-height: 40px, + // letter-spacing: -0.00833em + ), + 'h3': ( + size: 24px, + weight: 400, + line-height: 32px, + // letter-spacing: normal + ), + 'h4': ( + size: 20px, + weight: 400, + line-height: 30px, + // letter-spacing: 0.00735em + ), + 'h5': ( + size: 16px, + weight: 400, + line-height: 24px, + // letter-spacing: normal + ), + 'h6': ( + size: 14px, + weight: 500, + line-height: 18px, + // letter-spacing: 0.0125em + ), + 'subtitle': ( + size: 12px, + weight: 400, + line-height: 20px, + // letter-spacing: 0.00937em + ), + 'body': ( + font-size: 14px, + font-weight: 400, + line-height: 22px, + // letter-spacing: 0.03125em + ), + 'caption': ( + 'size': 12px, + 'weight': 400, + 'line-height': 20px, + // 'letter-spacing': 0.03333em, + // 'text-transform': false + ) + ), + $uni-headings +); + + + +// 主色 +$uni-primary: #2979ff !default; +$uni-primary-disable:lighten($uni-primary,20%) !default; +$uni-primary-light: lighten($uni-primary,25%) !default; + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37 !default; +$uni-success-disable:lighten($uni-success,20%) !default; +$uni-success-light: lighten($uni-success,25%) !default; + +$uni-warning: #f3a73f !default; +$uni-warning-disable:lighten($uni-warning,20%) !default; +$uni-warning-light: lighten($uni-warning,25%) !default; + +$uni-error: #e43d33 !default; +$uni-error-disable:lighten($uni-error,20%) !default; +$uni-error-light: lighten($uni-error,25%) !default; + +$uni-info: #8f939c !default; +$uni-info-disable:lighten($uni-info,20%) !default; +$uni-info-light: lighten($uni-info,25%) !default; + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a !default; // 主要文字 +$uni-base-color: #6a6a6a !default; // 常规文字 +$uni-secondary-color: #909399 !default; // 次要文字 +$uni-extra-color: #c7c7c7 !default; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0 !default; +$uni-border-2: #EDEDED !default; +$uni-border-3: #DCDCDC !default; +$uni-border-4: #B9B9B9 !default; + +// 常规色 +$uni-black: #000000 !default; +$uni-white: #ffffff !default; +$uni-transparent: rgba($color: #000000, $alpha: 0) !default; + +// 背景色 +$uni-bg-color: #f7f7f7 !default; + +/* 水平间距 */ +$uni-spacing-sm: 8px !default; +$uni-spacing-base: 15px !default; +$uni-spacing-lg: 30px !default; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5) !default; +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2) !default; +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5) !default; + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4) !default; diff --git a/uni_modules/uni-scss/styles/tools/functions.scss b/uni_modules/uni-scss/styles/tools/functions.scss new file mode 100644 index 0000000..ac6f63e --- /dev/null +++ b/uni_modules/uni-scss/styles/tools/functions.scss @@ -0,0 +1,19 @@ +// 合并 map +@function map-deep-merge($parent-map, $child-map){ + $result: $parent-map; + @each $key, $child in $child-map { + $parent-has-key: map-has-key($result, $key); + $parent-value: map-get($result, $key); + $parent-type: type-of($parent-value); + $child-type: type-of($child); + $parent-is-map: $parent-type == map; + $child-is-map: $child-type == map; + + @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ + $result: map-merge($result, ( $key: $child )); + }@else { + $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); + } + } + @return $result; +}; diff --git a/uni_modules/uni-scss/theme.scss b/uni_modules/uni-scss/theme.scss new file mode 100644 index 0000000..80ee62f --- /dev/null +++ b/uni_modules/uni-scss/theme.scss @@ -0,0 +1,31 @@ +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; +// 主色 +$uni-primary: #2979ff; +// 辅助色 +$uni-success: #4cd964; +// 警告色 +$uni-warning: #f0ad4e; +// 错误色 +$uni-error: #dd524d; +// 描述色 +$uni-info: #909399; +// 中性色 +$uni-main-color: #303133; +$uni-base-color: #606266; +$uni-secondary-color: #909399; +$uni-extra-color: #C0C4CC; +// 背景色 +$uni-bg-color: #f5f5f5; +// 边框颜色 +$uni-border-1: #DCDFE6; +$uni-border-2: #E4E7ED; +$uni-border-3: #EBEEF5; +$uni-border-4: #F2F6FC; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); diff --git a/uni_modules/uni-scss/variables.scss b/uni_modules/uni-scss/variables.scss new file mode 100644 index 0000000..1c062d4 --- /dev/null +++ b/uni_modules/uni-scss/variables.scss @@ -0,0 +1,62 @@ +@import './styles/setting/_variables.scss'; +// 间距基础倍数 +$uni-space-root: 2; +// 边框半径默认值 +$uni-radius-root:5px; + +// 主色 +$uni-primary: #2979ff; +$uni-primary-disable:mix(#fff,$uni-primary,50%); +$uni-primary-light: mix(#fff,$uni-primary,80%); + +// 辅助色 +// 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 +$uni-success: #18bc37; +$uni-success-disable:mix(#fff,$uni-success,50%); +$uni-success-light: mix(#fff,$uni-success,80%); + +$uni-warning: #f3a73f; +$uni-warning-disable:mix(#fff,$uni-warning,50%); +$uni-warning-light: mix(#fff,$uni-warning,80%); + +$uni-error: #e43d33; +$uni-error-disable:mix(#fff,$uni-error,50%); +$uni-error-light: mix(#fff,$uni-error,80%); + +$uni-info: #8f939c; +$uni-info-disable:mix(#fff,$uni-info,50%); +$uni-info-light: mix(#fff,$uni-info,80%); + +// 中性色 +// 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 +$uni-main-color: #3a3a3a; // 主要文字 +$uni-base-color: #6a6a6a; // 常规文字 +$uni-secondary-color: #909399; // 次要文字 +$uni-extra-color: #c7c7c7; // 辅助说明 + +// 边框颜色 +$uni-border-1: #F0F0F0; +$uni-border-2: #EDEDED; +$uni-border-3: #DCDCDC; +$uni-border-4: #B9B9B9; + +// 常规色 +$uni-black: #000000; +$uni-white: #ffffff; +$uni-transparent: rgba($color: #000000, $alpha: 0); + +// 背景色 +$uni-bg-color: #f7f7f7; + +/* 水平间距 */ +$uni-spacing-sm: 8px; +$uni-spacing-base: 15px; +$uni-spacing-lg: 30px; + +// 阴影 +$uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); +$uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); +$uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); + +// 蒙版 +$uni-mask: rgba($color: #000000, $alpha: 0.4); diff --git a/utils/oss-upload/common/crypto/base64.js b/utils/oss-upload/common/crypto/base64.js new file mode 100644 index 0000000..f31bb3a --- /dev/null +++ b/utils/oss-upload/common/crypto/base64.js @@ -0,0 +1,95 @@ +export const Base64 = { + _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + encode: function(input) { + var output = ""; + var chr1, chr2, chr3, enc1, enc2, enc3, enc4; + var i = 0; + input = Base64._utf8_encode(input); + while (i < input.length) { + chr1 = input.charCodeAt(i++); + chr2 = input.charCodeAt(i++); + chr3 = input.charCodeAt(i++); + enc1 = chr1 >> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + } + return output; + }, + + decode: function(input) { + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + while (i < input.length) { + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } + output = Base64._utf8_decode(output); + return output; + }, + + _utf8_encode: function(string) { + string = string.replace(/\r\n/g, "\n"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } else if ((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + }, + + _utf8_decode: function(utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + while (i < utftext.length) { + c = utftext.charCodeAt(i); + if (c < 128) { + string += String.fromCharCode(c); + i++; + } else if ((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i + 1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } else { + c2 = utftext.charCodeAt(i + 1); + c3 = utftext.charCodeAt(i + 2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + } + return string; + } +} \ No newline at end of file diff --git a/utils/oss-upload/common/crypto/crypto.js.js b/utils/oss-upload/common/crypto/crypto.js.js new file mode 100644 index 0000000..8ee30dc --- /dev/null +++ b/utils/oss-upload/common/crypto/crypto.js.js @@ -0,0 +1,117 @@ +var base64map = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; +let Crypto = {}; +var util = Crypto.util = { + rotl: function(n, b) { + return (n << b) | (n >>> (32 - b)); + }, + rotr: function(n, b) { + return (n << (32 - b)) | (n >>> b); + }, + endian: function(n) { + if (n.constructor == Number) { + return util.rotl(n, 8) & 0x00FF00FF | + util.rotl(n, 24) & 0xFF00FF00; + } + for (var i = 0; i < n.length; i++) + n[i] = util.endian(n[i]); + return n; + }, + randomBytes: function(n) { + for (var bytes = []; n > 0; n--) + bytes.push(Math.floor(Math.random() * 256)); + return bytes; + }, + stringToBytes: function(str) { + var bytes = []; + for (var i = 0; i < str.length; i++) + bytes.push(str.charCodeAt(i)); + return bytes; + }, + bytesToString: function(bytes) { + var str = []; + for (var i = 0; i < bytes.length; i++) + str.push(String.fromCharCode(bytes[i])); + return str.join(""); + }, + stringToWords: function(str) { + var words = []; + for (var c = 0, b = 0; c < str.length; c++, b += 8) + words[b >>> 5] |= str.charCodeAt(c) << (24 - b % 32); + return words; + }, + bytesToWords: function(bytes) { + var words = []; + for (var i = 0, b = 0; i < bytes.length; i++, b += 8) + words[b >>> 5] |= bytes[i] << (24 - b % 32); + return words; + }, + wordsToBytes: function(words) { + var bytes = []; + for (var b = 0; b < words.length * 32; b += 8) + bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF); + return bytes; + }, + bytesToHex: function(bytes) { + var hex = []; + for (var i = 0; i < bytes.length; i++) { + hex.push((bytes[i] >>> 4).toString(16)); + hex.push((bytes[i] & 0xF).toString(16)); + } + return hex.join(""); + }, + hexToBytes: function(hex) { + var bytes = []; + for (var c = 0; c < hex.length; c += 2) + bytes.push(parseInt(hex.substr(c, 2), 16)); + return bytes; + }, + bytesToBase64: function(bytes) { + if (typeof btoa == "function") return btoa(util.bytesToString(bytes)); + var base64 = [], + overflow; + for (var i = 0; i < bytes.length; i++) { + switch (i % 3) { + case 0: + base64.push(base64map.charAt(bytes[i] >>> 2)); + overflow = (bytes[i] & 0x3) << 4; + break; + case 1: + base64.push(base64map.charAt(overflow | (bytes[i] >>> 4))); + overflow = (bytes[i] & 0xF) << 2; + break; + case 2: + base64.push(base64map.charAt(overflow | (bytes[i] >>> 6))); + base64.push(base64map.charAt(bytes[i] & 0x3F)); + overflow = -1; + } + } + if (overflow != undefined && overflow != -1) + base64.push(base64map.charAt(overflow)); + while (base64.length % 4 != 0) base64.push("="); + return base64.join(""); + }, + base64ToBytes: function(base64) { + if (typeof atob == "function") return util.stringToBytes(atob(base64)); + base64 = base64.replace(/[^A-Z0-9+\/]/ig, ""); + var bytes = []; + for (var i = 0; i < base64.length; i++) { + switch (i % 4) { + case 1: + bytes.push((base64map.indexOf(base64.charAt(i - 1)) << 2) | + (base64map.indexOf(base64.charAt(i)) >>> 4)); + break; + case 2: + bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0xF) << 4) | + (base64map.indexOf(base64.charAt(i)) >>> 2)); + break; + case 3: + bytes.push(((base64map.indexOf(base64.charAt(i - 1)) & 0x3) << 6) | + (base64map.indexOf(base64.charAt(i)))); + break; + } + } + return bytes; + } +}; +Crypto.mode = {}; +export default Crypto; \ No newline at end of file diff --git a/utils/oss-upload/common/crypto/hmac.js b/utils/oss-upload/common/crypto/hmac.js new file mode 100644 index 0000000..457bec3 --- /dev/null +++ b/utils/oss-upload/common/crypto/hmac.js @@ -0,0 +1,29 @@ +import Crypto from '@/utils/oss-upload/common/crypto/crypto.js.js'; +(function() { + // Shortcut + var util = Crypto.util; + Crypto.HMAC = function(hasher, message, key, options) { + // Allow arbitrary length keys + key = key.length > hasher._blocksize * 4 ? + hasher(key, { + asBytes: true + }) : + util.stringToBytes(key); + // XOR keys with pad constants + var okey = key, + ikey = key.slice(0); + for (var i = 0; i < hasher._blocksize * 4; i++) { + okey[i] ^= 0x5C; + ikey[i] ^= 0x36; + } + var hmacbytes = hasher(util.bytesToString(okey) + + hasher(util.bytesToString(ikey) + message, { + asString: true + }), { + asBytes: true + }); + return options && options.asBytes ? hmacbytes : + options && options.asString ? util.bytesToString(hmacbytes) : + util.bytesToHex(hmacbytes); + }; +})(); \ No newline at end of file diff --git a/utils/oss-upload/common/crypto/sha1.js b/utils/oss-upload/common/crypto/sha1.js new file mode 100644 index 0000000..f03675c --- /dev/null +++ b/utils/oss-upload/common/crypto/sha1.js @@ -0,0 +1,59 @@ +import Crypto from '@/utils/oss-upload/common/crypto/crypto.js.js'; +(function() { + // Shortcut + var util = Crypto.util; + // Public API + var SHA1 = Crypto.SHA1 = function(message, options) { + var digestbytes = util.wordsToBytes(SHA1._sha1(message)); + return options && options.asBytes ? digestbytes : + options && options.asString ? util.bytesToString(digestbytes) : + util.bytesToHex(digestbytes); + }; + // The core + SHA1._sha1 = function(message) { + var m = util.stringToWords(message), + l = message.length * 8, + w = [], + H0 = 1732584193, + H1 = -271733879, + H2 = -1732584194, + H3 = 271733878, + H4 = -1009589776; + // Padding + m[l >> 5] |= 0x80 << (24 - l % 32); + m[((l + 64 >>> 9) << 4) + 15] = l; + for (var i = 0; i < m.length; i += 16) { + var a = H0, + b = H1, + c = H2, + d = H3, + e = H4; + for (var j = 0; j < 80; j++) { + if (j < 16) w[j] = m[i + j]; + else { + var n = w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16]; + w[j] = (n << 1) | (n >>> 31); + } + var t = ((H0 << 5) | (H0 >>> 27)) + H4 + (w[j] >>> 0) + ( + j < 20 ? (H1 & H2 | ~H1 & H3) + 1518500249 : + j < 40 ? (H1 ^ H2 ^ H3) + 1859775393 : + j < 60 ? (H1 & H2 | H1 & H3 | H2 & H3) - 1894007588 : + (H1 ^ H2 ^ H3) - 899497514); + H4 = H3; + H3 = H2; + H2 = (H1 << 30) | (H1 >>> 2); + H1 = H0; + H0 = t; + } + H0 += a; + H1 += b; + H2 += c; + H3 += d; + H4 += e; + } + return [H0, H1, H2, H3, H4]; + }; + + // Package private blocksize + SHA1._blocksize = 16; +})(); \ No newline at end of file diff --git a/utils/oss-upload/oss/OSSConfig.js b/utils/oss-upload/oss/OSSConfig.js new file mode 100644 index 0000000..b9fa72c --- /dev/null +++ b/utils/oss-upload/oss/OSSConfig.js @@ -0,0 +1,36 @@ +import Crypto from '@/utils/oss-upload/common/crypto/crypto.js.js'; +import '@/utils/oss-upload/common/crypto/hmac.js'; +import '@/utils/oss-upload/common/crypto/sha1.js'; +import { Base64 } from '@/utils/oss-upload/common/crypto/base64.js'; +import ossConfig from '@/config.js' + +let date = new Date() +date = date.setHours(date.getHours() + 1) +let extime = "" + new Date(date).toISOString() +let policyText = { + "expiration": extime, + "conditions": [ + ["content-length-range", 0, 1024 * 1024 * 100] // 设置上传文件的大小限制 + ] +}; +let config = { + accessid: ossConfig.aliOss.config.accessKeyId, + accesskey: ossConfig.aliOss.config.accessKeySecret, + osshost: ossConfig.aliOss.url, + policyBase64: Base64.encode(JSON.stringify(policyText)) +} + +let message = config.policyBase64; +let bytes = Crypto.HMAC(Crypto.SHA1, message, config.accesskey, { + asBytes: true +}); +let signature = Crypto.util.bytesToBase64(bytes); +let timetamp = new Date().getTime(); +let OSSConfig = { + name: 'aliyun', + host: config.osshost, + accessid: config.accessid, + signature: signature, + policyBase64: config.policyBase64, +} +export default OSSConfig; \ No newline at end of file diff --git a/utils/oss-upload/oss/index.js b/utils/oss-upload/oss/index.js new file mode 100644 index 0000000..024eb80 --- /dev/null +++ b/utils/oss-upload/oss/index.js @@ -0,0 +1,139 @@ +/** + * 阿里云OSS工具类 + */ +import OSSConfig from "@/utils/oss-upload/oss/OSSConfig.js" +//支持web端 +import { + uploadFileToOSS +} from '@/utils/oss-upload/oss/web.js' +import ossConfig from '@/config.js' + +/** + * 生成一个随机的Key + */ +function storeKey() { + let s = []; + let hexDigits = "0123456789abcdef"; + for (let i = 0; i < 36; i++) { + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + } + s[14] = "4"; + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); + s[8] = s[13] = s[18] = s[23] = "-"; + return s.join(""); +} + +/** + * 根据当天日期在OSS端生成文件夹 + */ +function storeFolder() { + const date = new Date(); + const formatNumber = n => { + n = n.toString() + return n[1] ? n : '0' + n + } + return [date.getFullYear(), date.getMonth() + 1, date.getDate()].map(formatNumber).join('-') +} + +/** + * 阿里云OSS上传文件, 所有具体功能的工具函数均基于此 + * 注意, resolve时一定为上传成功, 返回OSS上的Key + * @param filePath 待上传文件的URI + * @param key 存储桶中的目标文件名 + * @param folder 存储桶中的目标文件夹 + */ +export function ossUpload(filePath, key = storeKey(), folder = storeFolder()) { + return new Promise((resolve, reject) => { + if (folder && folder?.length > 0) { + if (folder[0] == "/") folder = folder.slice(1, folder.length) + if (folder[folder.length - 1] != "/") folder += "/" + key = folder + key + } + const filePrefixArr = filePath.split(".") + key += `.${filePrefixArr[filePrefixArr.length - 1]}` + let config = { + url: OSSConfig.host, + name: 'file', + filePath, + formData: { + key, + policy: OSSConfig.policyBase64, + OSSAccessKeyId: OSSConfig.accessid, + success_action_status: '200', + signature: OSSConfig.signature, + }, + success(res) { + if (res.errMsg.includes("uploadFile:ok")) { + resolve(ossConfig.aliOss.url + key) + } else { + reject(res) + } + }, + fail(err) { + reject(err) + } + } + uni.uploadFile(config) + }) +} + +/** + * 阿里云OSS上传图片 + * @param {compressed, key, folder, success, fail} compressed: 是否压缩 key: 存储桶中的目标文件名 folder: 存储桶中的目标文件夹 + */ +export function ossUploadImage({ + key, + folder, + compressed = true, //是否压缩 + success, //成功时的回调 + fail //失败时的回调 +}) { + const sizeType = [compressed ? 'compressed' : 'original'] + uni.chooseImage({ + count: 1, + sizeType, + success(res) { + // #ifdef H5 + return uploadFileToOSS(res.tempFiles[0]).then(success).catch(fail) + // #endif + ossUpload(res.tempFilePaths[0], key, folder).then(success).catch(fail) + }, + fail + }) +} + +/** + * 阿里云OSS上传视频 + * @param { key, folder, sourceType, compressed, maxDuration, camera, success, fail} + * key: 存储桶中的目标文件名 folder: 存储桶中的目标文件夹 其它参数同uni.chooseVideo(mpWeixin) + */ +export function ossUploadVideo({ + key, + folder, + sourceType = ['album', 'camera'], //album 从相册选视频, camera 使用相机拍摄 + compressed = true, //是否压缩所选的视频源文件 + maxDuration = 60, //拍摄视频最长拍摄时间, 单位秒。最长支持 60 秒 + camera = 'back', //调用相机方向, 'front'、'back', 默认'back' + success, //成功时的回调 + fail //失败时的回调 +}) { + uni.chooseVideo({ + sourceType, + compressed, + maxDuration, + camera, + success(res) { + // #ifdef H5 + return uploadFileToOSS(res.tempFile).then(success).catch(fail) + // #endif + ossUpload(res.tempFilePath, key, folder).then(success).catch(fail) + }, + fail + }) +} +const OSS = { + ossUploadVideo, + ossUploadImage, + ossUpload +} +export default OSS; \ No newline at end of file diff --git a/utils/oss-upload/oss/web.js b/utils/oss-upload/oss/web.js new file mode 100644 index 0000000..dfaab6e --- /dev/null +++ b/utils/oss-upload/oss/web.js @@ -0,0 +1,63 @@ +// 此方法适用于web +import OSS from "ali-oss" +import config from '@/config.js' + +/** + * 生成一个随机的Key + */ +function storeKey() { + let s = []; + let hexDigits = "0123456789abcdef"; + for (let i = 0; i < 36; i++) { + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + } + s[14] = "4"; + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); + s[8] = s[13] = s[18] = s[23] = "-"; + return s.join(""); +} + +/** + * 根据当天日期在OSS端生成文件夹 + */ +function storeFolder() { + const date = new Date(); + const formatNumber = n => { + n = n.toString() + return n[1] ? n : '0' + n + } + return [date.getFullYear(), date.getMonth() + 1, date.getDate()].map(formatNumber).join('-') +} + + +export function uploadFileToOSS(file) { + + uni.showLoading({ + title: '上传中...' + }); + + return new Promise((resolve,reject) => { + // 创建OSS实例 + const client = new OSS(config.aliOss.config); + + // 设置文件名和文件目录 + const suffix = '.' + file.name.split('.').pop(); + let key = storeFolder() + if(key[key.length - 1] != '/') key += '/' + const fileName = key + storeKey() + suffix; // 注意:文件名需要是唯一的 + + // 使用put接口上传文件 + client.multipartUpload(fileName, file, { + headers: { + 'Content-Disposition': 'inline', + 'Content-Type': file.type + } + }).then(res => { + uni.hideLoading(); + resolve(config.aliOss.url + res.name); + }).catch(err => { + uni.hideLoading(); + reject(err) + }) + }) +} \ No newline at end of file