更新记录
1.0.0(2024-12-12)
下载此版本
sc-view 基础元素、布局组件,减少命名!
平台兼容性
App |
快应用 |
微信小程序 |
支付宝小程序 |
百度小程序 |
字节小程序 |
QQ小程序 |
HBuilderX 4.0 app-vue |
× |
√ |
× |
× |
× |
× |
钉钉小程序 |
快手小程序 |
飞书小程序 |
京东小程序 |
× |
× |
× |
× |
H5-Safari |
Android Browser |
微信浏览器(Android) |
QQ浏览器(Android) |
Chrome |
IE |
Edge |
Firefox |
PC-Safari |
× |
√ |
× |
× |
√ |
× |
√ |
√ |
√ |
scView
配置步骤
1. 引入 scView 主 JS 库
import App from './App';
import {createSSRApp} from 'vue';
import scView from '@/uni_modules/scview-ui';
export function createApp() {
const app = createSSRApp(App);
app.use(scView, {});
return {
app,
};
}
2. 在引入uView的全局SCSS主题文件
在项目根目录的uni.scss中引入此文件。
/* uni.scss */
@import '@/uni_modules/scview-ui/theme.scss';
3. 引入uView基础样式
注意!
在App.vue中首行的位置引入,注意给 style 标签加入 lang="scss" 属性
<style lang="scss">
/* 注意要写在第一行,同时给style标签加入lang="scss"属性 */
@import "@/uni_modules/scview-ui/index.scss";
</style>
4. 配置easycom组件模式
此配置需要在项目根目录的pages.json中进行。
// pages.json
{
// 如果您是通过uni_modules形式引入uView,可以忽略此配置
"easycom": {
"^sc-(.*)": "@/uni_modules/scview-ui/components/sc-$1/sc-$1.vue"
},
// 此为本身已有的内容
"pages": [
// ......
]
}
全局样式的配置
app.use(scView, {
color: {
col: '#007AFF',
jbs: 'linear-gradient(blue, pink)'
},
text: {
sizes: {
mini: 20,
small: 24,
normal: 30,
large: 40,
huge: 20
}
},
button: {
sizes: {
mini: {
width: 100,
height: 50,
round: 10,
fontSize: 20
},
small: {
width: 200,
height: 80,
round: 20,
fontSize: 35
}
}
}
});
颜色值的使用
<sc-text color="primary"></sc-text>
<sc-button bg-color="success"></sc-button>
Api
请求
创建一个请求文件, 引入 request.js, 拦截器可以直接在源文件 http.interceptor.js
中进行设置, 也可自定义, 自定义时会同样执行 http.interceptor.js
文件中的代码, 需自行清除.
import request from "@/uni_modules/scview-ui/request.js";
// 设置全局配置
request.setConfig({
// 在这里设置全局默认参数
baseUrl: 'http://localhost:8080/api/'
});
// 请求拦截器
request.interceptor.request((config) => {
// 在这里设置请求头等参数
return config;
});
// 响应拦截器
request.interceptor.response((response) => {
// 在这里处理返回数据
return response;
});
export default {
index() {
let url = `/index/index`;
return request.post(url);
}
}
工具库
uni.$sc.validate 验证
isPureNumber
: 判断一个字符串是否是纯数字
isPhone
: 判断一个字符串是否是手机号
isEmail
: 判断一个字符串是否是邮箱
isIdCard
: 判断一个字符串是否是身份证号
isEmpty
: 判断一个值是否为空
isObject
: 判断一个值是否为对象
uni.$sc.utils 工具
systemInfo
: 获取设备信息
addUnit
: 添加单位,如果是字符串直接返回,否则加上rpx单位结尾
deepMerge
: 深度合并多个对象。如果对象中有嵌套对象,会递归地进行合并。
deepClone
: 深度克隆对象或数组
throttle
: 节流函数,限制函数调用频率
debounce
: 函数防抖
基础组件
text 文本
props
属性 |
说明 |
类型 |
默认值 |
可选值 |
size |
字号 |
number / string |
24rpx |
- |
bold |
是否是粗体 |
boolean |
false |
false / true |
lineHeight |
行高 |
number / string |
- |
- |
align |
文字对齐方式 |
string |
left |
left(居左) / center(居中) / right(居右) |
lines |
显示行数, 超出部分省略号 |
number / string |
- |
最大值 5 |
color |
字体的颜色值 |
string |
#333333 |
- |
decoration |
修饰符 |
string |
- |
underline(下划线) / line-through(中划线) |
link |
链接模式 |
boolean |
false |
false / true |
href |
link 模式下配置的链接 |
string |
- |
- |
padding |
内边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
pt |
内上边距 |
number / string |
- |
- |
pb |
内下边距 |
number / string |
- |
- |
pl |
内左边距 |
number / string |
- |
- |
pr |
内右边距 |
number / string |
- |
- |
margin |
外边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
mt |
外上边距 |
number / string |
- |
- |
mb |
外下边距 |
number / string |
- |
- |
ml |
外左边距 |
number / string |
- |
- |
mr |
外右边距 |
number / string |
- |
- |
customClass |
自定义样式类 |
string |
- |
- |
customStyle |
自定义样式(权重高于其他props设置的样式) |
object |
- |
- |
slot
slot |
说明 |
default |
文本内容 |
before |
文本前 |
after |
文本后 |
event
image 文本
props
属性 |
说明 |
类型 |
默认值 |
可选值 |
src |
地址 |
string |
- |
- |
wh |
宽高尺寸 默认值:'200rpx 200rpx' |
string |
- |
- |
width |
宽度 |
number / string |
- |
- |
height |
高度 |
number / string |
- |
- |
round |
圆角值 |
number / string |
- |
- |
rotate |
旋转角度 |
number / string |
- |
- |
mode |
裁剪模式(同uniapp官网) |
string |
aspectFill |
- |
lazyLoad |
是否懒加载 |
boolean |
false |
false / true |
showError |
是否显示加载错误的占位图 |
boolean |
false |
false / true |
errorSrc |
图片加载失败时显示的图片地址 |
string |
- |
- |
margin |
外边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
mt |
外上边距 |
number / string |
- |
- |
mb |
外下边距 |
number / string |
- |
- |
ml |
外左边距 |
number / string |
- |
- |
mr |
外右边距 |
number / string |
- |
- |
customClass |
自定义样式类 |
string |
- |
- |
customStyle |
自定义样式(权重高于其他props设置的样式) |
object |
- |
- |
event
事件 |
说明 |
回调参数 |
click |
点击图片时触发 |
- |
load |
图片加载成功时触发 |
- |
error |
图片加载失败时触发 |
err: 错误信息 |
button 按钮
props
属性 |
说明 |
类型 |
默认值 |
可选值 |
size |
按钮的尺寸(只能传入 button.sizes 的配置) |
string |
- |
- |
color |
按钮的颜色值(常规模式下修改背景色,plain 模式下修改边框与文本颜色) |
string |
- |
- |
width |
宽度 |
number / string |
- |
- |
height |
高度 |
number / string |
- |
- |
round |
圆角值 |
number / string |
- |
- |
plain |
是否是镂空按钮 |
Boolean |
- |
- |
fontSize |
按钮文本的字号(权重最高) |
number / string |
- |
- |
fontBold |
按钮文本是否是粗体 |
boolean |
false |
false / true |
fontColor |
按钮文本颜色(权重最高) |
string |
- |
- |
loading |
加载状态图标类型 |
Boolean |
false |
false / true |
loadingName |
加载图标名称 |
string |
- |
- |
loadingText |
加载中提示文字 |
string |
- |
- |
disabled |
是否禁用 |
Boolean |
false |
false / true |
margin |
外边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
mt |
外上边距 |
number / string |
- |
- |
mb |
外下边距 |
number / string |
- |
- |
ml |
外左边距 |
number / string |
- |
- |
mr |
外右边距 |
number / string |
- |
- |
event
事件 |
说明 |
回调参数 |
click |
点击图片时触发 |
- |
load |
图片加载成功时触发 |
- |
error |
图片加载失败时触发 |
err: 错误信息 |
flex 布局
props
属性 |
说明 |
类型 |
默认值 |
可选值 |
wh |
宽高 |
String |
'100% auto' |
- |
width |
元素宽度 |
Number / String |
- |
- |
height |
元素高度 |
Number / String |
- |
- |
round |
圆角 |
Number / String |
- |
- |
bgColor |
背景色 |
String |
- |
- |
direction |
布局方向 |
String |
- |
lr / rl / tb / bt |
wrap |
换行方式 |
String |
- |
wrap / wrap-reverse' |
jc |
主轴对齐方式(justify-content) |
String |
- |
start / end / center / between / around / evenly / baseline / first-baseline / last-baseline |
ai |
交叉轴对齐方式(align-items) |
String |
- |
start / end / center / baseline / first-baseline / last-baseline |
ac |
多根轴线的对齐方式(align-content) |
String |
- |
start / end / center / between / around / evenly |
gap |
行列间距 |
number / string |
- |
- |
rowGap |
行间距(权重高于gap) |
number / string |
- |
- |
colGap |
列间距(权重高于gap) |
number / string |
- |
- |
grow |
元素放大比例(flex-grow) |
String |
- |
- |
shrink |
元素缩小比例(flex-shrink) |
String |
- |
- |
basis |
分配多于空间(flex-basis) |
String |
- |
- |
self |
自身调整方式(align-self) |
String |
- |
- |
margin |
外边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
mt |
外上边距 |
number / string |
- |
- |
mb |
外下边距 |
number / string |
- |
- |
ml |
外左边距 |
number / string |
- |
- |
mr |
外右边距 |
number / string |
- |
- |
padding |
内边距(空格分割) 例子:'10 20px 3em 4%' |
string |
- |
- |
pt |
内上边距 |
number / string |
- |
- |
pb |
内下边距 |
number / string |
- |
- |
pl |
内左边距 |
number / string |
- |
- |
pr |
内右边距 |
number / string |
- |
- |
customClass |
自定义样式类 |
string |
- |
- |
customStyle |
自定义样式(权重高于其他props设置的样式) |
object |
- |
- |