commit c503bff7d2ed077e7d4376addea2ff022ad58071 Author: zhangjing Date: Mon May 15 13:33:00 2023 +0800 [抖火申请支付] diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..004028d Binary files /dev/null and b/.DS_Store differ diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a70bc78 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/unpackage +/node_modules diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..227eda0 --- /dev/null +++ b/App.vue @@ -0,0 +1,154 @@ + + + diff --git a/apis/index.js b/apis/index.js new file mode 100644 index 0000000..b627028 --- /dev/null +++ b/apis/index.js @@ -0,0 +1,160 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import store from '@/store' + +// 基础配置 +const config = { + apiUrl : 'https://api.douhuotest.douhuofalv.com/api/', // 测试环境 + // apiUrl : 'https://douhuo.douhuofalv.com/api/', // 正式环境 + timeout : 60000 +} + +let loginHintState = false + +// 网络请求 +const request = (parameter, hideLoding) => { + // 检查url配置 + if(parameter.url === 'undefined' || parameter.url === ''){ + uni.showToast({ + title: '请求地址不能为空', + icon : 'none' + }) + return + } + // 注入header + config.header = { + 'Accept': 'application/json', + 'Authorization': store.getters.getToken || '' + } + + // 加载提示 + if(!hideLoding) uni.showLoading({ + title: '加载中', + mask : true + }); + + // 请求实例 + return new Promise((resolve, reject) => { + uni.request({ + url : config.apiUrl + parameter.url, + timeout : config.timeout, + header : config.header || {}, + data : parameter.data || {}, + method : parameter.method || 'GET', + success : res => { + if (res.header.Authorization){ + updateToken('token', res.header.Authorization) + } + if(res.statusCode === 200){ + uni.hideLoading() + const resolveData = res.data + if(resolveData.status_code === 200) { + resolve(resolveData.data) + return + } + if(resolveData.status_code === 401) { + loginHint() + return + } + reject(resolveData) + return + } + errToast(res.statusCode) + } + }) + }) +} + +// 文件上传 +const uploading = (paths, driver) => { + + uni.showLoading({ + title: '上传中', + mask : true + }); + // 注入header + config.header = { + 'Accept': 'application/json', + 'Authorization': store.getters.getToken || '' + } + // 上传图片 + return new Promise((resolve, reject) => { + uni.uploadFile({ + url : config.apiUrl + 'storage/uploads', + files : paths, + header : config.header || {}, + formData: driver || {}, + success : res=>{ + if(res.statusCode === 200){ + uni.hideLoading() + let updData = JSON.parse(res.data) + if(updData.status_code === 200){ + resolve(updData.data) + return + } + reject(updData) + return + } + errToast(res.statusCode) + } + }) + }) +} + +// 处理一些http请求错误提示 +const errToast = (code) => { + switch (code){ + case 404: + uni.showToast({ + title: code + '接口不存在,请联系系统管理员', + icon : 'none' + }) + break; + case 405: + uni.showToast({ + title: code + '请检查接口请求方式错误', + icon : 'none' + }) + break; + case 500: + uni.showToast({ + title: code + '服务端错误,请检查服务器信息', + icon : 'none' + }) + break; + } +} + +// 更新token +const updateToken = (token) => { + store.commit('setToken', token) +} + +// 处理登录提示 +const loginHint = () => { + if( loginHintState ) return + if(!loginHintState) loginHintState = true + updateToken('') + uni.showModal({ + title: '登录提示', + content: '您的登录信息已过期,请重新登录', + confirmColor: '#8b64fd', + showCancel:false, + success: res=> { + loginHintState = false + if (res.confirm) uni.reLaunch({ + url: '/login/login' + }) + } + }) +} + +export { + request, + uploading, + config +} diff --git a/apis/interfaces/auth.js b/apis/interfaces/auth.js new file mode 100644 index 0000000..ad9d4a3 --- /dev/null +++ b/apis/interfaces/auth.js @@ -0,0 +1,78 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { request } from '../index' + +// 用户注册 +const Register = (data) =>{ + return request({ + url: "user/auth/register", + method: 'POST', + data: data + }) +} + +// 获取短信前图形验证码 +const Captcha = (data) =>{ + return request({ + url: "user/auth/captcha", + method: 'POST', + data: data + }) +} + +// 需校验图形验证码 +const smsAuth = (data) =>{ + return request({ + url: "user/auth/verify_captcha", + method: 'POST', + data: data + }) +} + +// 用户账号密码登录 +const Login = (data) =>{ + return request({ + url: "user/auth/login", + method: 'POST', + data: data + }) +} + +// 重置密码 +const resetPassword = (data) =>{ + return request({ + url: "user/auth/reset_password", + method: 'POST', + data: data + }) +} + +// 修改密码 +const modifyPassword = (data) =>{ + return request({ + url: "user/setting/reset_password", + method: 'POST', + data: data + }) +} + +// 隐私+协议 +const registeragree = (website) =>{ + return request({ + url: "cms/pages/" + website + }) +} + +export { + Register, + Captcha, + smsAuth, + Login, + resetPassword, + modifyPassword, + registeragree +} diff --git a/apis/interfaces/index.js b/apis/interfaces/index.js new file mode 100644 index 0000000..717b5d1 --- /dev/null +++ b/apis/interfaces/index.js @@ -0,0 +1,238 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { request } from '../index' + +// 首页数据 +const home = () =>{ + return request({ + url: "business/home" + }) +} + + +// 文章分类 +const articleSort = () =>{ + return request({ + url: "cms/categories" + }) +} + +// 文章列表 +const articleList = (data) =>{ + return request({ + url: "cms/articles", + data: data + }) +} + +// 文章详情 +const articleBrief = (article_id) =>{ + return request({ + url: "cms/articles/" + article_id + }) +} + +// 文章收藏 +const collect = (article_id) =>{ + return request({ + url: "cms/articles/favorite/" + article_id + }) +} + +// 我的文章收藏 +const myCollect = (data) =>{ + return request({ + url: "user/favorites", + data: data + }) +} + +// 精选律师列表 +const lawyers = (data) =>{ + return request({ + url: "lawyers", + data: data + }) +} + +// 精选律师详情 +const lawyersdet = (lawyer_id) =>{ + return request({ + url: "lawyers/" + lawyer_id + }) +} + +//律师业务 +const lawyersBusiness = () =>{ + return request({ + url: "lawyers/businesses" + }) +} + + +//律师业务详情 +const businessDet = (lawyer_business_id) =>{ + return request({ + url: "lawyers/businesses/" + lawyer_business_id + }) +} + +//律师订单金额 +const lawyerOrder = (lawyer_id) =>{ + return request({ + url: "lawyers/" + lawyer_id + "/order" + + }) +} + +//律师业务-创建订单 +const businessOrder = (lawyer_business_id) =>{ + return request({ + url: "lawyers/businesses/" + lawyer_business_id + "/order" + + }) +} + +// 获取主业务 +const workIndex = () =>{ + return request({ + url: "business/index" + }) +} + +// 获取主业务机构 +const workOne = (business_id) =>{ + return request({ + url: "business/" + business_id + "/institution" + }) +} + +// 获取二级业务类型 +const workLevel = (business_id) =>{ + return request({ + url: "business/institution/" + business_id + "/type" + }) +} + +// 提交基础信息 +const workStore = (data) =>{ + return request({ + url: "business/store", + method: 'POST', + data: data + }) +} + +// 9.9预约 +const Apply = (business_order_id) =>{ + return request({ + url: "business/apply/" + business_order_id + "/info" + }) +} + +// 9.9预约--微信支付 +const Wechat = (apply_order_no, data) =>{ + return request({ + url: "pay/apply/" + apply_order_no + "/wechat", + data: data + }) +} + +// 咨询服务费--微信支付 +const applyPay = (business_order_id, data) =>{ + return request({ + url: "pay/order/" + business_order_id + "/wechat", + data: data + }) +} + +// 补差价--微信支付 +const diffPay = (business_order_diff_price_id, data) =>{ + return request({ + url: "pay/diff/" + business_order_diff_price_id + "/wechat", + data: data + }) +} + + +// 获取公众号openid +const Openid = (data) =>{ + return request({ + url: "user/auth/official/openid", + data: data + }) +} + +// 获取授权页面 +const authFollow = (data) => { + return request({ + url : 'user/auth/official/url', + data: data + }) +} + +// 获取方案 +const Schemes = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/schemes" + }) +} + +// h5入库用户数据 +const wechatCode = (data) => { + return request({ + url : 'user/auth/login/wechat/add', + method: 'POST', + data: data + }) +} + +// 校验分享用户 +const Verify = (data) => { + return request({ + url : 'user/relations/verify', + data: data + }) +} + +// 绑定分享用户 +const Bind = (data) => { + return request({ + url : 'user/relations/bind', + method: 'POST', + data: data + }) +} + +export { + home, + articleSort, + articleList, + articleBrief, + collect, + myCollect, + lawyers, + lawyersdet, + lawyersBusiness, + businessDet, + lawyerOrder, + businessOrder, + workIndex, + workOne, + workLevel, + workStore, + Apply, + Wechat, + applyPay, + diffPay, + Openid, + authFollow, + Schemes, + wechatCode, + Verify, + Bind +} diff --git a/apis/interfaces/pay.js b/apis/interfaces/pay.js new file mode 100644 index 0000000..52d5639 --- /dev/null +++ b/apis/interfaces/pay.js @@ -0,0 +1,46 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { request } from '../index' + +// 银联9.9商务支付 +const ums = (applyNo, data) =>{ + return request({ + url : 'pay/apply/' + applyNo + '/ums', + data + }) +} + +// 银联服务包支付 +const umsOrder = (applyNo, data) =>{ + return request({ + url : 'pay/order/' + applyNo + '/ums', + data + }) +} + +// 银联补差价支付 +const umsDiff = (diffPriceId, data) =>{ + return request({ + url : 'pay/diff/' + diffPriceId + '/ums', + data + }) +} + +// 查询支付结果 +const umsState = (trade_id) => { + return request({ + url : 'payments/query/' + trade_id, + }) +} + +export { + ums, + umsOrder, + umsDiff, + umsState +} + diff --git a/apis/interfaces/public.js b/apis/interfaces/public.js new file mode 100644 index 0000000..f584ea7 --- /dev/null +++ b/apis/interfaces/public.js @@ -0,0 +1,20 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { request } from '../index' + +// 获取微信支付 +const getWxJsdk = data =>{ + return request({ + url : 'user/auth/official/jssdk', + data : data + }) +} + +export { + getWxJsdk +} + diff --git a/apis/interfaces/uploading.js b/apis/interfaces/uploading.js new file mode 100644 index 0000000..dc14885 --- /dev/null +++ b/apis/interfaces/uploading.js @@ -0,0 +1,17 @@ + +/** + * Web唐明明 + * 匆匆数载恍如梦,岁月迢迢华发增。 + * 碌碌无为枉半生,一朝惊醒万事空。 + * moduleName: 上传图片 + */ + +import { uploading as upd } from '../index' + +const uploads = (paths, driver) => { + return upd(paths, driver) +} + +export { + uploads +} diff --git a/apis/interfaces/user.js b/apis/interfaces/user.js new file mode 100644 index 0000000..220011e --- /dev/null +++ b/apis/interfaces/user.js @@ -0,0 +1,363 @@ +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { request } from '../index' + +// 获取用户信息 +const userIndex = () =>{ + return request({ + url: "user" + }) +} + +// 实名认证 +const realName = (data) =>{ + return request({ + url: "user/certification", + method: 'POST', + data: data + }) +} + +// 是否实名认证 +const judgeReal = () =>{ + return request({ + url: "user/certified" + }) +} + +// 人脸识别 +const faceUrl = () =>{ + return request({ + url: "e-signs/authorize/psn" + + }) +} + +// 获取签约地址 +const contractGo = (business_order_id, data) =>{ + return request({ + url: "business/" + business_order_id + '/sign_url', + data: data + }) +} + +// 修改用户资料 +const setting = (key, data) =>{ + return request({ + url: "user/setting/" + key, + method: 'PUT', + data: data + + }) +} + +// 我的伙伴 +const Relations = (data) =>{ + return request({ + url: "user/relations", + data: data + + }) +} + +// 我的推荐 +const Parent = () =>{ + return request({ + url: "user/parent" + + }) +} + +// 邀请码 +const inviteCode = () =>{ + return request({ + url: "user/invite" + + }) +} + +// 我的咨询单基础信息 +const userBase = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/user/base" + }) +} + +// 我的咨询单详细信息-银行 +const userBank = (business_order_item_id) =>{ + return request({ + url: "business/" + business_order_item_id + "/user/bank" + }) +} + +// 修改基础信息-提交 +const basePut = (business_order_user_id, data) =>{ + return request({ + url: "business/" + business_order_user_id + "/user/base", + method: 'POST', + data: data + }) +} + +// 修改银行和其他信息-提交 +const bankPut = (business_order_user_bank_id, data) =>{ + return request({ + url: "business/" + business_order_user_bank_id + "/user/bank", + method: 'POST', + data: data + }) +} + +// 我的咨询单基础信息 - 首次提交 +const BaseFirst = (business_order_user_id, user_base_id) =>{ + return request({ + url: "business/" + business_order_user_id + "/user/base/" + user_base_id, + method: 'POST' + }) +} + +// 修改银行和其他信息--通过之前数据 +const BankFirst = (business_order_user_bank_id, user_bank_id) =>{ + return request({ + url: "business/" + business_order_user_bank_id + "/user/bank/" + user_bank_id, + method: 'POST' + }) +} + +// 省市区选择 +const create = (data) =>{ + return request({ + url: "region", + data: data + }) +} + +// 获取所有省市区数据 +const createAll = (data) =>{ + return request({ + url: "region/all", + data: data + }) +} + +// 获取所有省市数据 +const createCity = (data) =>{ + return request({ + url: "region/pro_city", + data: data + }) +} + +// 机构列表 +const bankIns = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/ins" + }) +} + +// 基本信息查看-个人中心 +const BaseSee = () =>{ + return request({ + url: "user/base" + }) +} + +// 机构详情查看-个人中心 +const BankSee = (user_bank_id) =>{ + return request({ + url: "user/base/" + user_bank_id + "/bank" + }) +} + +// 机构详情查看-个人中心 +const BankIns = (business_institution_id) =>{ + return request({ + url: "user/base/" + business_institution_id + "/bank_by_ins" + }) +} + +// 机构列表查看-个人中心 +const BankList = () =>{ + return request({ + url: "user/base/banks" + }) +} + +// 我的咨询单 +const myOrders = (data) =>{ + return request({ + url: "business/orders", + data: data + }) +} + +// 进度 +const StepsUrl = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/steps" + }) +} + +// 服务包查看 +const baleSee = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/order_services" + }) +} + +// 获取物流公司 +const getExpress = () =>{ + return request({ + url: "express" + }) +} + +// 发件 +const Send = (business_order_id, data) =>{ + return request({ + url: "business/" + business_order_id + "/expresses", + method: 'POST', + data: data + }) +} + +// 优惠券 +const coupons = (data) =>{ + return request({ + url: "coupons/user/coupons", + data: data + }) +} + +// 需要修改的订单资料 +const myAffirm = (data) =>{ + return request({ + url: "business/modify/data", + data: data + }) +} + +// 需要补差价 +const myDiff = (data) =>{ + return request({ + url: "business/diff_prices", + data: data + }) +} + +// 需要确认方案数 +const myModify = (data) =>{ + return request({ + url: "business/close_schemes", + data: data + }) +} + +// 确认方案详情 +const myModifyInfo = (business_order_scheme_id) =>{ + return request({ + url: "business/close_schemes/" + business_order_scheme_id + }) +} + +// 确认方案详情 - 同意方案 +const modifyYes = (business_order_close_scheme_id, data) =>{ + return request({ + url: "business/close_schemes/" + business_order_close_scheme_id + "/agree", + method: 'POST', + data: data + }) +} + +// 确认方案详情 - 不同意方案 +const modifyNo = (business_order_close_scheme_id, data) =>{ + return request({ + url: "business/close_schemes/" + business_order_close_scheme_id + "/refuse", + method: 'POST', + data: data + }) +} + +// 获取用户姓名手机号性别 +const userBasic = () =>{ + return request({ + url: "user/basic" + }) +} + +// 获取邮寄列表 +const expressList = (business_order_id) =>{ + return request({ + url: "business/" + business_order_id + "/expresses" + }) +} + +// 查看物流 +const logistic = (business_order_express_id) =>{ + return request({ + url: "business/" + business_order_express_id + "/logistic" + }) +} + + +// 退款完成 +const myRefund = (data) =>{ + return request({ + url: "business/refunds", + data: data + }) +} + +// 展示法务老师操作记录 +const doLogs = (order_id, data) =>{ + return request({ + url: "business/" + order_id + "/do_logs", + data: data + }) +} + +export { + userIndex, + realName, + judgeReal, + faceUrl, + contractGo, + setting, + Relations, + Parent, + inviteCode, + userBase, + userBank, + basePut, + bankPut, + BaseFirst, + BankFirst, + create, + createAll, + createCity, + bankIns, + BaseSee, + BankSee, + BankIns, + BankList, + myOrders, + StepsUrl, + baleSee, + getExpress, + Send, + coupons, + myAffirm, + myDiff, + myModify, + myModifyInfo, + modifyYes, + modifyNo, + userBasic, + expressList, + logistic, + myRefund, + doLogs +} \ No newline at end of file diff --git a/components/mould-checkbox.vue b/components/mould-checkbox.vue new file mode 100644 index 0000000..3dfc88e --- /dev/null +++ b/components/mould-checkbox.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/components/mould-date.vue b/components/mould-date.vue new file mode 100644 index 0000000..41da8f1 --- /dev/null +++ b/components/mould-date.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/components/mould-input.vue b/components/mould-input.vue new file mode 100644 index 0000000..07caa6d --- /dev/null +++ b/components/mould-input.vue @@ -0,0 +1,63 @@ + + + + + \ No newline at end of file diff --git a/components/mould-picker.vue b/components/mould-picker.vue new file mode 100644 index 0000000..062b04b --- /dev/null +++ b/components/mould-picker.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/components/mould-radio.vue b/components/mould-radio.vue new file mode 100644 index 0000000..125c2e6 --- /dev/null +++ b/components/mould-radio.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/components/mould-text.vue b/components/mould-text.vue new file mode 100644 index 0000000..2b881fa --- /dev/null +++ b/components/mould-text.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/pages/user/parent.vue b/pages/user/parent.vue new file mode 100644 index 0000000..651827d --- /dev/null +++ b/pages/user/parent.vue @@ -0,0 +1,182 @@ + + + + + \ No newline at end of file diff --git a/pages/user/referee.vue b/pages/user/referee.vue new file mode 100644 index 0000000..060b717 --- /dev/null +++ b/pages/user/referee.vue @@ -0,0 +1,176 @@ + + + + + \ No newline at end of file diff --git a/pages/user/setup.vue b/pages/user/setup.vue new file mode 100644 index 0000000..9d4cd07 --- /dev/null +++ b/pages/user/setup.vue @@ -0,0 +1,231 @@ + + + + + \ No newline at end of file diff --git a/pages/webWechat/index.vue b/pages/webWechat/index.vue new file mode 100644 index 0000000..c588058 --- /dev/null +++ b/pages/webWechat/index.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/pages/webview/webCode.vue b/pages/webview/webCode.vue new file mode 100644 index 0000000..708a636 --- /dev/null +++ b/pages/webview/webCode.vue @@ -0,0 +1,22 @@ + + + + + diff --git a/pages/webview/webview.vue b/pages/webview/webview.vue new file mode 100644 index 0000000..efd96f8 --- /dev/null +++ b/pages/webview/webview.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/router/index.js b/router/index.js new file mode 100644 index 0000000..d92846b --- /dev/null +++ b/router/index.js @@ -0,0 +1,69 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import { RouterMount, createRouter } from 'uni-simple-router'; +import { authFollow } from '@/apis/interfaces/index' +import store from '../store/index' + +const router = createRouter({ + h5: { + paramsToQuery: true + }, + platform: process.env.VUE_APP_PLATFORM, + routes: [...ROUTES, { + path: '*', + name:'404', + component: ()=> import('@/pages/404/404') + }] +}) + +// 全局路由前置守卫 +router.beforeEach((to, from, next) => { + const token = store.getters.getToken || uni.getStorageSync('token') + const openId = store.getters.getOpenId || uni.getStorageSync('openId') + if(to.name === 'appESign'){ + next() + return + } + // 检查用户是否授权了微信 + if(to.name != 'webWechatIndex' && openId === ''){ + authFollow({ + // url: 'https://web.douhuofalv.com/webWechat/index' + // url: 'https://web.douhuotest.douhuofalv.com/webWechat/index' + url: 'https://rule.douhuofalv.com/webWechat/index' + }).then(res => { + window.location.href = res + }).catch(err => { + uni.showToast({ + title: err.message, + icon: "none" + }) + }) + return + } + // 检查是否需要登录 + if(to.auth && token === ''){ + next({ + name: 'Login', + NAVTYPE: 'push', + params: { + toName: to.name + } + }) + return + } + next() +}) + +// 全局路由后置守卫 +router.afterEach((to, from) => { + // console.log('跳转结束--暂无应用场景') +}) + +export { + router, + RouterMount +} diff --git a/scss/globa.scss b/scss/globa.scss new file mode 100644 index 0000000..71b550b --- /dev/null +++ b/scss/globa.scss @@ -0,0 +1,81 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +// 文字颜色 +$text-color: #4d4d4d; +$text-gray: #9d9d9d; + +// 主色调 +$mian-color: #da2b56; +$yellow-color: #ec7647; + +// 辅助色 +$assist-color-1: #5dc791; +$assist-color-2: #f2b25b; +$assist-color-3: #ec6555; + +// 边框颜色 +$border-color: #f2f2f2; +$border-color-light: #f7f8fa; + +// 文字尺寸变量 +$title-size: 32rpx; +$title-size-lg: 30rpx; +$title-size-m: 28rpx; +$title-size-sm: 26rpx; + +// 模块圆角 +$radius: 20rpx; +$radius-sm: 10rpx; +$radius-lg: 12rpx; +$radius-m: 10rpx; + +// 模块边距 +$margin: 30rpx; +$padding: 30rpx; + +// ios安全距离 +.ios-bottom{ + padding-bottom: env(safe-area-inset-bottom); + padding-bottom: constant(safe-area-inset-bottom); +} + +.ios-left{ + padding-left: env(safe-area-inset-left); + padding-left: constant(safe-area-inset-left); +} + +.ios-right{ + padding-right: env(safe-area-inset-right); + padding-right: constant(safe-area-inset-right); +} + +.ios-top{ + padding-top: var(--status-bar-height); +} + +// 公共样式 +.vertical { + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-box-pack: center; +} + +.nowrap { + max-width: 100%; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ellipsis{ + max-width: 100%; + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; +} diff --git a/static/.DS_Store b/static/.DS_Store new file mode 100644 index 0000000..b7de2b3 Binary files /dev/null and b/static/.DS_Store differ diff --git a/static/404/404.png b/static/404/404.png new file mode 100644 index 0000000..064254e Binary files /dev/null and b/static/404/404.png differ diff --git a/static/cs/1200.png b/static/cs/1200.png new file mode 100644 index 0000000..4874da1 Binary files /dev/null and b/static/cs/1200.png differ diff --git a/static/cs/cs01.jpg b/static/cs/cs01.jpg new file mode 100644 index 0000000..24b0c15 Binary files /dev/null and b/static/cs/cs01.jpg differ diff --git a/static/cs/cs02.jpg b/static/cs/cs02.jpg new file mode 100644 index 0000000..51feab9 Binary files /dev/null and b/static/cs/cs02.jpg differ diff --git a/static/icon/Check.png b/static/icon/Check.png new file mode 100644 index 0000000..4d064d7 Binary files /dev/null and b/static/icon/Check.png differ diff --git a/static/icon/Check_active.png b/static/icon/Check_active.png new file mode 100644 index 0000000..3952c4f Binary files /dev/null and b/static/icon/Check_active.png differ diff --git a/static/icon/bankIcon_01.png b/static/icon/bankIcon_01.png new file mode 100644 index 0000000..953062d Binary files /dev/null and b/static/icon/bankIcon_01.png differ diff --git a/static/icon/bankIcon_01_active.png b/static/icon/bankIcon_01_active.png new file mode 100644 index 0000000..fd284df Binary files /dev/null and b/static/icon/bankIcon_01_active.png differ diff --git a/static/icon/bankIcon_02.png b/static/icon/bankIcon_02.png new file mode 100644 index 0000000..3c38ae6 Binary files /dev/null and b/static/icon/bankIcon_02.png differ diff --git a/static/icon/bankIcon_02_active.png b/static/icon/bankIcon_02_active.png new file mode 100644 index 0000000..9014449 Binary files /dev/null and b/static/icon/bankIcon_02_active.png differ diff --git a/static/icon/cameraImg.png b/static/icon/cameraImg.png new file mode 100644 index 0000000..b524cd3 Binary files /dev/null and b/static/icon/cameraImg.png differ diff --git a/static/icon/dropDown_01.png b/static/icon/dropDown_01.png new file mode 100644 index 0000000..7a06446 Binary files /dev/null and b/static/icon/dropDown_01.png differ diff --git a/static/icon/dropDown_02.png b/static/icon/dropDown_02.png new file mode 100644 index 0000000..dae51eb Binary files /dev/null and b/static/icon/dropDown_02.png differ diff --git a/static/icon/dropDown_03.png b/static/icon/dropDown_03.png new file mode 100644 index 0000000..adfc48f Binary files /dev/null and b/static/icon/dropDown_03.png differ diff --git a/static/icon/dropDown_04.png b/static/icon/dropDown_04.png new file mode 100644 index 0000000..e947707 Binary files /dev/null and b/static/icon/dropDown_04.png differ diff --git a/static/icon/dropDown_05.png b/static/icon/dropDown_05.png new file mode 100644 index 0000000..4317a83 Binary files /dev/null and b/static/icon/dropDown_05.png differ diff --git a/static/icon/dropDown_06.png b/static/icon/dropDown_06.png new file mode 100644 index 0000000..27ae6b6 Binary files /dev/null and b/static/icon/dropDown_06.png differ diff --git a/static/icon/dropDown_07.png b/static/icon/dropDown_07.png new file mode 100644 index 0000000..0390da8 Binary files /dev/null and b/static/icon/dropDown_07.png differ diff --git a/static/icon/dropDown_08.png b/static/icon/dropDown_08.png new file mode 100644 index 0000000..36aa10b Binary files /dev/null and b/static/icon/dropDown_08.png differ diff --git a/static/icon/dropDown_09.png b/static/icon/dropDown_09.png new file mode 100644 index 0000000..aadd7b8 Binary files /dev/null and b/static/icon/dropDown_09.png differ diff --git a/static/icon/dropDown_10.png b/static/icon/dropDown_10.png new file mode 100644 index 0000000..81c104c Binary files /dev/null and b/static/icon/dropDown_10.png differ diff --git a/static/icon/dropDown_11.png b/static/icon/dropDown_11.png new file mode 100644 index 0000000..f1247d7 Binary files /dev/null and b/static/icon/dropDown_11.png differ diff --git a/static/icon/lawyerIcon_01.png b/static/icon/lawyerIcon_01.png new file mode 100644 index 0000000..8e365ea Binary files /dev/null and b/static/icon/lawyerIcon_01.png differ diff --git a/static/icon/lawyerIcon_02.png b/static/icon/lawyerIcon_02.png new file mode 100644 index 0000000..9dee8e8 Binary files /dev/null and b/static/icon/lawyerIcon_02.png differ diff --git a/static/icon/lawyerIcon_03.png b/static/icon/lawyerIcon_03.png new file mode 100644 index 0000000..5226620 Binary files /dev/null and b/static/icon/lawyerIcon_03.png differ diff --git a/static/icon/lawyerIcon_04.png b/static/icon/lawyerIcon_04.png new file mode 100644 index 0000000..75a7426 Binary files /dev/null and b/static/icon/lawyerIcon_04.png differ diff --git a/static/icon/lawyerIcon_05.png b/static/icon/lawyerIcon_05.png new file mode 100644 index 0000000..9820ad2 Binary files /dev/null and b/static/icon/lawyerIcon_05.png differ diff --git a/static/icon/man.png b/static/icon/man.png new file mode 100644 index 0000000..258fa4f Binary files /dev/null and b/static/icon/man.png differ diff --git a/static/icon/notesIcon.png b/static/icon/notesIcon.png new file mode 100644 index 0000000..585432b Binary files /dev/null and b/static/icon/notesIcon.png differ diff --git a/static/icon/refresh_loding.gif b/static/icon/refresh_loding.gif new file mode 100644 index 0000000..5bb90fd Binary files /dev/null and b/static/icon/refresh_loding.gif differ diff --git a/static/icon/searchIcon.png b/static/icon/searchIcon.png new file mode 100644 index 0000000..939a391 Binary files /dev/null and b/static/icon/searchIcon.png differ diff --git a/static/icon/see.png b/static/icon/see.png new file mode 100644 index 0000000..1731fed Binary files /dev/null and b/static/icon/see.png differ diff --git a/static/icon/see_active.png b/static/icon/see_active.png new file mode 100644 index 0000000..2eb1a4e Binary files /dev/null and b/static/icon/see_active.png differ diff --git a/static/icon/speedIcon_01.png b/static/icon/speedIcon_01.png new file mode 100644 index 0000000..86721c0 Binary files /dev/null and b/static/icon/speedIcon_01.png differ diff --git a/static/icon/speedIcon_01_active.png b/static/icon/speedIcon_01_active.png new file mode 100644 index 0000000..e8f4a66 Binary files /dev/null and b/static/icon/speedIcon_01_active.png differ diff --git a/static/icon/speedIcon_02.png b/static/icon/speedIcon_02.png new file mode 100644 index 0000000..0a3f3c4 Binary files /dev/null and b/static/icon/speedIcon_02.png differ diff --git a/static/icon/speedIcon_02_active.png b/static/icon/speedIcon_02_active.png new file mode 100644 index 0000000..164bbc1 Binary files /dev/null and b/static/icon/speedIcon_02_active.png differ diff --git a/static/icon/speedIcon_03.png b/static/icon/speedIcon_03.png new file mode 100644 index 0000000..65dbc80 Binary files /dev/null and b/static/icon/speedIcon_03.png differ diff --git a/static/icon/speedIcon_03_active.png b/static/icon/speedIcon_03_active.png new file mode 100644 index 0000000..8cf1678 Binary files /dev/null and b/static/icon/speedIcon_03_active.png differ diff --git a/static/icon/speedIcon_04.png b/static/icon/speedIcon_04.png new file mode 100644 index 0000000..110415e Binary files /dev/null and b/static/icon/speedIcon_04.png differ diff --git a/static/icon/speedIcon_04_active.png b/static/icon/speedIcon_04_active.png new file mode 100644 index 0000000..06745d1 Binary files /dev/null and b/static/icon/speedIcon_04_active.png differ diff --git a/static/icon/speedIcon_05.png b/static/icon/speedIcon_05.png new file mode 100644 index 0000000..9614979 Binary files /dev/null and b/static/icon/speedIcon_05.png differ diff --git a/static/icon/speedIcon_05_active.png b/static/icon/speedIcon_05_active.png new file mode 100644 index 0000000..011dfe0 Binary files /dev/null and b/static/icon/speedIcon_05_active.png differ diff --git a/static/icon/speedIcon_06.png b/static/icon/speedIcon_06.png new file mode 100644 index 0000000..69a0b75 Binary files /dev/null and b/static/icon/speedIcon_06.png differ diff --git a/static/icon/speedIcon_06_active.png b/static/icon/speedIcon_06_active.png new file mode 100644 index 0000000..643affc Binary files /dev/null and b/static/icon/speedIcon_06_active.png differ diff --git a/static/icon/speedIcon_07.png b/static/icon/speedIcon_07.png new file mode 100644 index 0000000..857500d Binary files /dev/null and b/static/icon/speedIcon_07.png differ diff --git a/static/icon/speedIcon_07_active.png b/static/icon/speedIcon_07_active.png new file mode 100644 index 0000000..8902e71 Binary files /dev/null and b/static/icon/speedIcon_07_active.png differ diff --git a/static/icon/speedIcon_08.png b/static/icon/speedIcon_08.png new file mode 100644 index 0000000..a55d96c Binary files /dev/null and b/static/icon/speedIcon_08.png differ diff --git a/static/icon/speedIcon_08_active.png b/static/icon/speedIcon_08_active.png new file mode 100644 index 0000000..968ca93 Binary files /dev/null and b/static/icon/speedIcon_08_active.png differ diff --git a/static/icon/speedIcon_09.png b/static/icon/speedIcon_09.png new file mode 100644 index 0000000..dd981c0 Binary files /dev/null and b/static/icon/speedIcon_09.png differ diff --git a/static/icon/speedIcon_09_active.png b/static/icon/speedIcon_09_active.png new file mode 100644 index 0000000..807cf85 Binary files /dev/null and b/static/icon/speedIcon_09_active.png differ diff --git a/static/icon/speedIcon_10.png b/static/icon/speedIcon_10.png new file mode 100644 index 0000000..c323d68 Binary files /dev/null and b/static/icon/speedIcon_10.png differ diff --git a/static/icon/speedIcon_10_active.png b/static/icon/speedIcon_10_active.png new file mode 100644 index 0000000..f914c19 Binary files /dev/null and b/static/icon/speedIcon_10_active.png differ diff --git a/static/icon/speedIcon_11.png b/static/icon/speedIcon_11.png new file mode 100644 index 0000000..c251927 Binary files /dev/null and b/static/icon/speedIcon_11.png differ diff --git a/static/icon/speedIcon_11_active.png b/static/icon/speedIcon_11_active.png new file mode 100644 index 0000000..9760cf9 Binary files /dev/null and b/static/icon/speedIcon_11_active.png differ diff --git a/static/icon/speedIcon_12.png b/static/icon/speedIcon_12.png new file mode 100644 index 0000000..e4f073e Binary files /dev/null and b/static/icon/speedIcon_12.png differ diff --git a/static/icon/speedIcon_12_active.png b/static/icon/speedIcon_12_active.png new file mode 100644 index 0000000..7d22177 Binary files /dev/null and b/static/icon/speedIcon_12_active.png differ diff --git a/static/icon/speedIcon_13.png b/static/icon/speedIcon_13.png new file mode 100644 index 0000000..de8f3f3 Binary files /dev/null and b/static/icon/speedIcon_13.png differ diff --git a/static/icon/speedIcon_13_active.png b/static/icon/speedIcon_13_active.png new file mode 100644 index 0000000..0531e2a Binary files /dev/null and b/static/icon/speedIcon_13_active.png differ diff --git a/static/icon/userOrder_02.png b/static/icon/userOrder_02.png new file mode 100644 index 0000000..1d4101e Binary files /dev/null and b/static/icon/userOrder_02.png differ diff --git a/static/icon/woman.png b/static/icon/woman.png new file mode 100644 index 0000000..0ca4e4f Binary files /dev/null and b/static/icon/woman.png differ diff --git a/static/imgs/.DS_Store b/static/imgs/.DS_Store new file mode 100644 index 0000000..85079b4 Binary files /dev/null and b/static/imgs/.DS_Store differ diff --git a/static/imgs/01@3x.png b/static/imgs/01@3x.png new file mode 100644 index 0000000..72d6a32 Binary files /dev/null and b/static/imgs/01@3x.png differ diff --git a/static/imgs/Noevaluate.png b/static/imgs/Noevaluate.png new file mode 100644 index 0000000..50af006 Binary files /dev/null and b/static/imgs/Noevaluate.png differ diff --git a/static/imgs/Nologistic.png b/static/imgs/Nologistic.png new file mode 100644 index 0000000..dbf7554 Binary files /dev/null and b/static/imgs/Nologistic.png differ diff --git a/static/imgs/addType_icon1.png b/static/imgs/addType_icon1.png new file mode 100644 index 0000000..0719a48 Binary files /dev/null and b/static/imgs/addType_icon1.png differ diff --git a/static/imgs/addType_icon2.png b/static/imgs/addType_icon2.png new file mode 100644 index 0000000..88f96e5 Binary files /dev/null and b/static/imgs/addType_icon2.png differ diff --git a/static/imgs/addType_icon3.png b/static/imgs/addType_icon3.png new file mode 100644 index 0000000..4f2d65b Binary files /dev/null and b/static/imgs/addType_icon3.png differ diff --git a/static/imgs/aliPay.png b/static/imgs/aliPay.png new file mode 100644 index 0000000..e39df5c Binary files /dev/null and b/static/imgs/aliPay.png differ diff --git a/static/imgs/authSuccess.png b/static/imgs/authSuccess.png new file mode 100644 index 0000000..4afe2b0 Binary files /dev/null and b/static/imgs/authSuccess.png differ diff --git a/static/imgs/bank_img.png b/static/imgs/bank_img.png new file mode 100644 index 0000000..f236b7a Binary files /dev/null and b/static/imgs/bank_img.png differ diff --git a/static/imgs/basic_add.png b/static/imgs/basic_add.png new file mode 100644 index 0000000..985a30f Binary files /dev/null and b/static/imgs/basic_add.png differ diff --git a/static/imgs/basic_date.png b/static/imgs/basic_date.png new file mode 100644 index 0000000..5716728 Binary files /dev/null and b/static/imgs/basic_date.png differ diff --git a/static/imgs/basic_down.png b/static/imgs/basic_down.png new file mode 100644 index 0000000..88fe19b Binary files /dev/null and b/static/imgs/basic_down.png differ diff --git a/static/imgs/basic_down_black.png b/static/imgs/basic_down_black.png new file mode 100644 index 0000000..f256e73 Binary files /dev/null and b/static/imgs/basic_down_black.png differ diff --git a/static/imgs/basic_tel.png b/static/imgs/basic_tel.png new file mode 100644 index 0000000..1c9c46f Binary files /dev/null and b/static/imgs/basic_tel.png differ diff --git a/static/imgs/basic_tips.png b/static/imgs/basic_tips.png new file mode 100644 index 0000000..77538eb Binary files /dev/null and b/static/imgs/basic_tips.png differ diff --git a/static/imgs/card_ensure.png b/static/imgs/card_ensure.png new file mode 100644 index 0000000..6ce88ae Binary files /dev/null and b/static/imgs/card_ensure.png differ diff --git a/static/imgs/card_front.png b/static/imgs/card_front.png new file mode 100644 index 0000000..c0ba155 Binary files /dev/null and b/static/imgs/card_front.png differ diff --git a/static/imgs/card_verso.png b/static/imgs/card_verso.png new file mode 100644 index 0000000..235530f Binary files /dev/null and b/static/imgs/card_verso.png differ diff --git a/static/imgs/close.png b/static/imgs/close.png new file mode 100644 index 0000000..cc78d70 Binary files /dev/null and b/static/imgs/close.png differ diff --git a/static/imgs/code_back.jpg b/static/imgs/code_back.jpg new file mode 100644 index 0000000..b079380 Binary files /dev/null and b/static/imgs/code_back.jpg differ diff --git a/static/imgs/code_bottom.png b/static/imgs/code_bottom.png new file mode 100644 index 0000000..75d957c Binary files /dev/null and b/static/imgs/code_bottom.png differ diff --git a/static/imgs/code_btn.png b/static/imgs/code_btn.png new file mode 100644 index 0000000..89edd73 Binary files /dev/null and b/static/imgs/code_btn.png differ diff --git a/static/imgs/collect.png b/static/imgs/collect.png new file mode 100644 index 0000000..b5dba9e Binary files /dev/null and b/static/imgs/collect.png differ diff --git a/static/imgs/collect_active.png b/static/imgs/collect_active.png new file mode 100644 index 0000000..ad8cc31 Binary files /dev/null and b/static/imgs/collect_active.png differ diff --git a/static/imgs/consult_btn.png b/static/imgs/consult_btn.png new file mode 100644 index 0000000..5009f72 Binary files /dev/null and b/static/imgs/consult_btn.png differ diff --git a/static/imgs/consult_text.png b/static/imgs/consult_text.png new file mode 100644 index 0000000..057a69d Binary files /dev/null and b/static/imgs/consult_text.png differ diff --git a/static/imgs/couponImg.png b/static/imgs/couponImg.png new file mode 100644 index 0000000..b168961 Binary files /dev/null and b/static/imgs/couponImg.png differ diff --git a/static/imgs/dK.png b/static/imgs/dK.png new file mode 100644 index 0000000..aff3d33 Binary files /dev/null and b/static/imgs/dK.png differ diff --git a/static/imgs/default_myBank.png b/static/imgs/default_myBank.png new file mode 100644 index 0000000..24651e7 Binary files /dev/null and b/static/imgs/default_myBank.png differ diff --git a/static/imgs/default_myHead.png b/static/imgs/default_myHead.png new file mode 100644 index 0000000..07ded43 Binary files /dev/null and b/static/imgs/default_myHead.png differ diff --git a/static/imgs/detailsImg.png b/static/imgs/detailsImg.png new file mode 100644 index 0000000..6b7ab11 Binary files /dev/null and b/static/imgs/detailsImg.png differ diff --git a/static/imgs/ensure.png b/static/imgs/ensure.png new file mode 100644 index 0000000..be1dea5 Binary files /dev/null and b/static/imgs/ensure.png differ diff --git a/static/imgs/express-img.png b/static/imgs/express-img.png new file mode 100644 index 0000000..d82bb76 Binary files /dev/null and b/static/imgs/express-img.png differ diff --git a/static/imgs/firstImg.jpg b/static/imgs/firstImg.jpg new file mode 100644 index 0000000..212fc10 Binary files /dev/null and b/static/imgs/firstImg.jpg differ diff --git a/static/imgs/general_back.png b/static/imgs/general_back.png new file mode 100644 index 0000000..a4d3486 Binary files /dev/null and b/static/imgs/general_back.png differ diff --git a/static/imgs/graphImg.png b/static/imgs/graphImg.png new file mode 100644 index 0000000..5e649b3 Binary files /dev/null and b/static/imgs/graphImg.png differ diff --git a/static/imgs/handleImg.png b/static/imgs/handleImg.png new file mode 100644 index 0000000..e3efa38 Binary files /dev/null and b/static/imgs/handleImg.png differ diff --git a/static/imgs/indexSee.png b/static/imgs/indexSee.png new file mode 100644 index 0000000..86987e2 Binary files /dev/null and b/static/imgs/indexSee.png differ diff --git a/static/imgs/indexTool_01.png b/static/imgs/indexTool_01.png new file mode 100644 index 0000000..9468ee6 Binary files /dev/null and b/static/imgs/indexTool_01.png differ diff --git a/static/imgs/indexTool_02.png b/static/imgs/indexTool_02.png new file mode 100644 index 0000000..d3a9bf8 Binary files /dev/null and b/static/imgs/indexTool_02.png differ diff --git a/static/imgs/indexTool_03.png b/static/imgs/indexTool_03.png new file mode 100644 index 0000000..f439908 Binary files /dev/null and b/static/imgs/indexTool_03.png differ diff --git a/static/imgs/indexTool_04.png b/static/imgs/indexTool_04.png new file mode 100644 index 0000000..603a812 Binary files /dev/null and b/static/imgs/indexTool_04.png differ diff --git a/static/imgs/indexTool_05.png b/static/imgs/indexTool_05.png new file mode 100644 index 0000000..0cad971 Binary files /dev/null and b/static/imgs/indexTool_05.png differ diff --git a/static/imgs/indexTop.png b/static/imgs/indexTop.png new file mode 100644 index 0000000..21ed502 Binary files /dev/null and b/static/imgs/indexTop.png differ diff --git a/static/imgs/lawyerBack.png b/static/imgs/lawyerBack.png new file mode 100644 index 0000000..1820b44 Binary files /dev/null and b/static/imgs/lawyerBack.png differ diff --git a/static/imgs/loanBack.png b/static/imgs/loanBack.png new file mode 100644 index 0000000..811f277 Binary files /dev/null and b/static/imgs/loanBack.png differ diff --git a/static/imgs/loanIcon.png b/static/imgs/loanIcon.png new file mode 100644 index 0000000..7174d24 Binary files /dev/null and b/static/imgs/loanIcon.png differ diff --git a/static/imgs/login_back.png b/static/imgs/login_back.png new file mode 100644 index 0000000..09b8e36 Binary files /dev/null and b/static/imgs/login_back.png differ diff --git a/static/imgs/login_bottom.png b/static/imgs/login_bottom.png new file mode 100644 index 0000000..c3d705f Binary files /dev/null and b/static/imgs/login_bottom.png differ diff --git a/static/imgs/logo.png b/static/imgs/logo.png new file mode 100644 index 0000000..66cd313 Binary files /dev/null and b/static/imgs/logo.png differ diff --git a/static/imgs/logo_title.png b/static/imgs/logo_title.png new file mode 100644 index 0000000..924a3b3 Binary files /dev/null and b/static/imgs/logo_title.png differ diff --git a/static/imgs/minPay.png b/static/imgs/minPay.png new file mode 100644 index 0000000..9c80f0c Binary files /dev/null and b/static/imgs/minPay.png differ diff --git a/static/imgs/modifySuccess.png b/static/imgs/modifySuccess.png new file mode 100644 index 0000000..1a69899 Binary files /dev/null and b/static/imgs/modifySuccess.png differ diff --git a/static/imgs/noticeArrow.png b/static/imgs/noticeArrow.png new file mode 100644 index 0000000..db3e42e Binary files /dev/null and b/static/imgs/noticeArrow.png differ diff --git a/static/imgs/openArrow.png b/static/imgs/openArrow.png new file mode 100644 index 0000000..a79707b Binary files /dev/null and b/static/imgs/openArrow.png differ diff --git a/static/imgs/openArrow_grey.png b/static/imgs/openArrow_grey.png new file mode 100644 index 0000000..eb7860a Binary files /dev/null and b/static/imgs/openArrow_grey.png differ diff --git a/static/imgs/payArrow.png b/static/imgs/payArrow.png new file mode 100644 index 0000000..c2105ef Binary files /dev/null and b/static/imgs/payArrow.png differ diff --git a/static/imgs/payCheck.png b/static/imgs/payCheck.png new file mode 100644 index 0000000..45be246 Binary files /dev/null and b/static/imgs/payCheck.png differ diff --git a/static/imgs/payCheck_active.png b/static/imgs/payCheck_active.png new file mode 100644 index 0000000..ecca476 Binary files /dev/null and b/static/imgs/payCheck_active.png differ diff --git a/static/imgs/payClose.png b/static/imgs/payClose.png new file mode 100644 index 0000000..4fac613 Binary files /dev/null and b/static/imgs/payClose.png differ diff --git a/static/imgs/payCoupon.png b/static/imgs/payCoupon.png new file mode 100644 index 0000000..4475af0 Binary files /dev/null and b/static/imgs/payCoupon.png differ diff --git a/static/imgs/payImg.png b/static/imgs/payImg.png new file mode 100644 index 0000000..c543a35 Binary files /dev/null and b/static/imgs/payImg.png differ diff --git a/static/imgs/paySelect.png b/static/imgs/paySelect.png new file mode 100644 index 0000000..ce699dd Binary files /dev/null and b/static/imgs/paySelect.png differ diff --git a/static/imgs/paySelect_active.png b/static/imgs/paySelect_active.png new file mode 100644 index 0000000..ed5b954 Binary files /dev/null and b/static/imgs/paySelect_active.png differ diff --git a/static/imgs/payWechat.png b/static/imgs/payWechat.png new file mode 100644 index 0000000..df05374 Binary files /dev/null and b/static/imgs/payWechat.png differ diff --git a/static/imgs/payment.png b/static/imgs/payment.png new file mode 100644 index 0000000..5d728ab Binary files /dev/null and b/static/imgs/payment.png differ diff --git a/static/imgs/payment_back.png b/static/imgs/payment_back.png new file mode 100644 index 0000000..264b18e Binary files /dev/null and b/static/imgs/payment_back.png differ diff --git a/static/imgs/payment_icon.png b/static/imgs/payment_icon.png new file mode 100644 index 0000000..e31d369 Binary files /dev/null and b/static/imgs/payment_icon.png differ diff --git a/static/imgs/processGif.gif b/static/imgs/processGif.gif new file mode 100644 index 0000000..54b7ab3 Binary files /dev/null and b/static/imgs/processGif.gif differ diff --git a/static/imgs/reminderIcon.png b/static/imgs/reminderIcon.png new file mode 100644 index 0000000..33966e8 Binary files /dev/null and b/static/imgs/reminderIcon.png differ diff --git a/static/imgs/removeIcon.png b/static/imgs/removeIcon.png new file mode 100644 index 0000000..9d3b841 Binary files /dev/null and b/static/imgs/removeIcon.png differ diff --git a/static/imgs/seek_back.jpg b/static/imgs/seek_back.jpg new file mode 100644 index 0000000..678f37d Binary files /dev/null and b/static/imgs/seek_back.jpg differ diff --git a/static/imgs/signsSuccess.jpg b/static/imgs/signsSuccess.jpg new file mode 100644 index 0000000..a39ba0f Binary files /dev/null and b/static/imgs/signsSuccess.jpg differ diff --git a/static/imgs/singleUser.png b/static/imgs/singleUser.png new file mode 100644 index 0000000..bcb6a4c Binary files /dev/null and b/static/imgs/singleUser.png differ diff --git a/static/imgs/speedMore.png b/static/imgs/speedMore.png new file mode 100644 index 0000000..fb39c40 Binary files /dev/null and b/static/imgs/speedMore.png differ diff --git a/static/imgs/speedOver.png b/static/imgs/speedOver.png new file mode 100644 index 0000000..a1f12df Binary files /dev/null and b/static/imgs/speedOver.png differ diff --git a/static/imgs/speed_back.png b/static/imgs/speed_back.png new file mode 100644 index 0000000..23a8ed0 Binary files /dev/null and b/static/imgs/speed_back.png differ diff --git a/static/imgs/toolImg_00.png b/static/imgs/toolImg_00.png new file mode 100644 index 0000000..f2510bf Binary files /dev/null and b/static/imgs/toolImg_00.png differ diff --git a/static/imgs/toolImg_02.png b/static/imgs/toolImg_02.png new file mode 100644 index 0000000..10723fd Binary files /dev/null and b/static/imgs/toolImg_02.png differ diff --git a/static/imgs/toolImg_03.png b/static/imgs/toolImg_03.png new file mode 100644 index 0000000..70b195f Binary files /dev/null and b/static/imgs/toolImg_03.png differ diff --git a/static/imgs/topCont_whole_btn.png b/static/imgs/topCont_whole_btn.png new file mode 100644 index 0000000..fdeeda2 Binary files /dev/null and b/static/imgs/topCont_whole_btn.png differ diff --git a/static/imgs/use_arrow.png b/static/imgs/use_arrow.png new file mode 100644 index 0000000..6f301a0 Binary files /dev/null and b/static/imgs/use_arrow.png differ diff --git a/static/imgs/userBoard_01.png b/static/imgs/userBoard_01.png new file mode 100644 index 0000000..ae8f101 Binary files /dev/null and b/static/imgs/userBoard_01.png differ diff --git a/static/imgs/userBoard_02.png b/static/imgs/userBoard_02.png new file mode 100644 index 0000000..26d4aef Binary files /dev/null and b/static/imgs/userBoard_02.png differ diff --git a/static/imgs/userBoard_03.png b/static/imgs/userBoard_03.png new file mode 100644 index 0000000..f7919d4 Binary files /dev/null and b/static/imgs/userBoard_03.png differ diff --git a/static/imgs/userIcon_01.png b/static/imgs/userIcon_01.png new file mode 100644 index 0000000..68eb7e5 Binary files /dev/null and b/static/imgs/userIcon_01.png differ diff --git a/static/imgs/userIcon_02.png b/static/imgs/userIcon_02.png new file mode 100644 index 0000000..2b54d17 Binary files /dev/null and b/static/imgs/userIcon_02.png differ diff --git a/static/imgs/userIcon_arrow.png b/static/imgs/userIcon_arrow.png new file mode 100644 index 0000000..6293c23 Binary files /dev/null and b/static/imgs/userIcon_arrow.png differ diff --git a/static/imgs/userTool_01.png b/static/imgs/userTool_01.png new file mode 100644 index 0000000..19950b3 Binary files /dev/null and b/static/imgs/userTool_01.png differ diff --git a/static/imgs/userTool_02.png b/static/imgs/userTool_02.png new file mode 100644 index 0000000..15d6360 Binary files /dev/null and b/static/imgs/userTool_02.png differ diff --git a/static/imgs/userTool_03.png b/static/imgs/userTool_03.png new file mode 100644 index 0000000..18e4b65 Binary files /dev/null and b/static/imgs/userTool_03.png differ diff --git a/static/imgs/userTool_04.png b/static/imgs/userTool_04.png new file mode 100644 index 0000000..c25f3ac Binary files /dev/null and b/static/imgs/userTool_04.png differ diff --git a/static/imgs/userTool_05.png b/static/imgs/userTool_05.png new file mode 100644 index 0000000..2269158 Binary files /dev/null and b/static/imgs/userTool_05.png differ diff --git a/static/imgs/userTop.png b/static/imgs/userTop.png new file mode 100644 index 0000000..d6d5575 Binary files /dev/null and b/static/imgs/userTop.png differ diff --git a/static/imgs/user_attestation.png b/static/imgs/user_attestation.png new file mode 100644 index 0000000..dc0b772 Binary files /dev/null and b/static/imgs/user_attestation.png differ diff --git a/static/imgs/zK_01.png b/static/imgs/zK_01.png new file mode 100644 index 0000000..3e16e31 Binary files /dev/null and b/static/imgs/zK_01.png differ diff --git a/static/imgs/zK_02.png b/static/imgs/zK_02.png new file mode 100644 index 0000000..36e2e85 Binary files /dev/null and b/static/imgs/zK_02.png differ diff --git a/static/imgs/zK_03.png b/static/imgs/zK_03.png new file mode 100644 index 0000000..60e1a9b Binary files /dev/null and b/static/imgs/zK_03.png differ diff --git a/static/imgs/zK_04.png b/static/imgs/zK_04.png new file mode 100644 index 0000000..0d05ab1 Binary files /dev/null and b/static/imgs/zK_04.png differ diff --git a/static/imgs/zK_05.png b/static/imgs/zK_05.png new file mode 100644 index 0000000..7f4927a Binary files /dev/null and b/static/imgs/zK_05.png differ diff --git a/static/imgs/zK_06.png b/static/imgs/zK_06.png new file mode 100644 index 0000000..b93c746 Binary files /dev/null and b/static/imgs/zK_06.png differ diff --git a/static/imgs/zK_arrow.png b/static/imgs/zK_arrow.png new file mode 100644 index 0000000..6f9888f Binary files /dev/null and b/static/imgs/zK_arrow.png differ diff --git a/static/tabBar/tabBar_icon_00.png b/static/tabBar/tabBar_icon_00.png new file mode 100644 index 0000000..124675e Binary files /dev/null and b/static/tabBar/tabBar_icon_00.png differ diff --git a/static/tabBar/tabBar_icon_01.png b/static/tabBar/tabBar_icon_01.png new file mode 100644 index 0000000..1deb310 Binary files /dev/null and b/static/tabBar/tabBar_icon_01.png differ diff --git a/static/tabBar/tabBar_show_00.png b/static/tabBar/tabBar_show_00.png new file mode 100644 index 0000000..77bb0ca Binary files /dev/null and b/static/tabBar/tabBar_show_00.png differ diff --git a/static/tabBar/tabBar_show_01.png b/static/tabBar/tabBar_show_01.png new file mode 100644 index 0000000..f1c1414 Binary files /dev/null and b/static/tabBar/tabBar_show_01.png differ diff --git a/static/uni.webview.js b/static/uni.webview.js new file mode 100644 index 0000000..40708c4 --- /dev/null +++ b/static/uni.webview.js @@ -0,0 +1,175 @@ +! function (e, n) { + "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : (e = e || self).webUni = n() +}(this, (function () { + "use strict"; + try { + var e = {}; + Object.defineProperty(e, "passive", { + get: function () { + !0 + } + }), window.addEventListener("test-passive", null, e) + } catch (e) {} + var n = Object.prototype.hasOwnProperty; + + function t(e, t) { + return n.call(e, t) + } + var i = [], + a = function (e, n) { + var t = { + options: { + timestamp: +new Date + }, + name: e, + arg: n + }; + if (window.__dcloud_weex_postMessage || window.__dcloud_weex_) { + if ("postMessage" === e) { + var a = { + data: [n] + }; + return window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessage(a) : window.__dcloud_weex_.postMessage(JSON.stringify(a)) + } + var o = { + type: "WEB_INVOKE_APPSERVICE", + args: { + data: t, + webviewIds: i + } + }; + window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessageToService(o) : window.__dcloud_weex_.postMessageToService(JSON.stringify(o)) + } + if (!window.plus) return window.parent.postMessage({ + type: "WEB_INVOKE_APPSERVICE", + data: t, + pageId: "" + }, "*"); + if (0 === i.length) { + var r = plus.webview.currentWebview(); + if (!r) throw new Error("plus.webview.currentWebview() is undefined"); + var d = r.parent(), + s = ""; + s = d ? d.id : r.id, i.push(s) + } + if (plus.webview.getWebviewById("__uniapp__service")) plus.webview.postMessageToUniNView({ + type: "WEB_INVOKE_APPSERVICE", + args: { + data: t, + webviewIds: i + } + }, "__uniapp__service"); + else { + var w = JSON.stringify(t); + plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat("WEB_INVOKE_APPSERVICE", '",').concat(w, ",").concat(JSON.stringify(i), ");")) + } + }, + o = { + navigateTo: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = e.url; + a("navigateTo", { + url: encodeURI(n) + }) + }, + navigateBack: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = e.delta; + a("navigateBack", { + delta: parseInt(n) || 1 + }) + }, + switchTab: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = e.url; + a("switchTab", { + url: encodeURI(n) + }) + }, + reLaunch: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = e.url; + a("reLaunch", { + url: encodeURI(n) + }) + }, + redirectTo: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}, + n = e.url; + a("redirectTo", { + url: encodeURI(n) + }) + }, + getEnv: function (e) { + window.plus ? e({ + plus: !0 + }) : e({ + h5: !0 + }) + }, + postMessage: function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {}; + a("postMessage", e.data || {}) + } + }, + r = /uni-app/i.test(navigator.userAgent), + d = /Html5Plus/i.test(navigator.userAgent), + s = /complete|loaded|interactive/; + var w = window.my && navigator.userAgent.indexOf("AlipayClient") > -1; + var u = window.swan && window.swan.webView && /swan/i.test(navigator.userAgent); + var c = window.qq && window.qq.miniProgram && /QQ/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); + var g = window.tt && window.tt.miniProgram && /toutiaomicroapp/i.test(navigator.userAgent); + var v = window.wx && window.wx.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i.test(navigator.userAgent); + var p = window.qa && /quickapp/i.test(navigator.userAgent); + for (var l, _ = function () { + window.UniAppJSBridge = !0, document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady", { + bubbles: !0, + cancelable: !0 + })) + }, f = [function (e) { + if (r || d) return window.__dcloud_weex_postMessage || window.__dcloud_weex_ ? document.addEventListener("DOMContentLoaded", e) : window.plus && s.test(document.readyState) ? setTimeout(e, 0) : document.addEventListener("plusready", e), o + }, function (e) { + if (v) return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("WeixinJSBridgeReady", e), window.wx.miniProgram + }, function (e) { + if (c) return window.QQJSBridge && window.QQJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("QQJSBridgeReady", e), window.qq.miniProgram + }, function (e) { + if (w) { + document.addEventListener("DOMContentLoaded", e); + var n = window.my; + return { + navigateTo: n.navigateTo, + navigateBack: n.navigateBack, + switchTab: n.switchTab, + reLaunch: n.reLaunch, + redirectTo: n.redirectTo, + postMessage: n.postMessage, + getEnv: n.getEnv + } + } + }, function (e) { + if (u) return document.addEventListener("DOMContentLoaded", e), window.swan.webView + }, function (e) { + if (g) return document.addEventListener("DOMContentLoaded", e), window.tt.miniProgram + }, function (e) { + if (p) { + window.QaJSBridge && window.QaJSBridge.invoke ? setTimeout(e, 0) : document.addEventListener("QaJSBridgeReady", e); + var n = window.qa; + return { + navigateTo: n.navigateTo, + navigateBack: n.navigateBack, + switchTab: n.switchTab, + reLaunch: n.reLaunch, + redirectTo: n.redirectTo, + postMessage: n.postMessage, + getEnv: n.getEnv + } + } + }, function (e) { + return document.addEventListener("DOMContentLoaded", e), o + }], m = 0; m < f.length && !(l = f[m](_)); m++); + l || (l = {}); + var E = "undefined" != typeof webUni ? webUni : {}; + if (!E.navigateTo) + for (var b in l) t(l, b) && (E[b] = l[b]); + return E.webView = l, E +})); \ No newline at end of file diff --git a/store/index.js b/store/index.js new file mode 100644 index 0000000..4c00fcc --- /dev/null +++ b/store/index.js @@ -0,0 +1,35 @@ + +/** + * 手太欠 + * 愿这世界都如故事里一样 美好而动人~ + */ + +import Vue from 'vue' +import Vuex from 'vuex' + +Vue.use(Vuex) + +export default new Vuex.Store({ + state: { + token : uni.getStorageSync('token') || '', + openID : uni.getStorageSync('openId') || '' + }, + getters: { + getToken: state => { + return state.token + }, + getOpenId: state => { + return state.openID + } + }, + mutations: { + setToken(state, tokenString) { + state.token = tokenString + uni.setStorageSync('token', tokenString) + }, + setOpenid(state, openid) { + state.openID = openid + uni.setStorageSync('openId', openid) + } + } +}) diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..e6fe5f3 --- /dev/null +++ b/uni.scss @@ -0,0 +1,82 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ + +/* uview scss */ +@import 'uview-ui/theme.scss'; + +/* 引入自定义的scss */ +@import 'scss/globa.scss'; + +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/uni_modules/uni-data-picker/changelog.md b/uni_modules/uni-data-picker/changelog.md new file mode 100644 index 0000000..7edcd87 --- /dev/null +++ b/uni_modules/uni-data-picker/changelog.md @@ -0,0 +1,68 @@ +## 1.0.9(2022-11-30) +- 修复 v-for 为使用 key 值控制台 warning +## 1.0.8(2022-09-16) +- 可以使用 uni-scss 控制主题色 +## 1.0.7(2022-07-06) +- 优化 pc端图标位置不正确的问题 +## 1.0.6(2022-07-05) +- 优化 显示样式 +## 1.0.5(2022-07-04) +- 修复 uni-data-picker 在 uni-forms-item 中宽度不正确的bug +## 1.0.4(2022-04-19) +- 修复 字节小程序 本地数据无法选择下一级的Bug +## 1.0.3(2022-02-25) +- 修复 nvue 不支持的 v-show 的 bug +## 1.0.2(2022-02-25) +- 修复 条件编译 nvue 不支持的 css 样式 +## 1.0.1(2021-11-23) +- 修复 由上个版本引发的map、v-model等属性不生效的bug +## 1.0.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-data-picker](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +## 0.4.9(2021-10-28) +- 修复 VUE2 v-model 概率无效的 bug +## 0.4.8(2021-10-27) +- 修复 v-model 概率无效的 bug +## 0.4.7(2021-10-25) +- 新增 属性 spaceInfo 服务空间配置 HBuilderX 3.2.11+ +- 修复 树型 uniCloud 数据类型为 int 时报错的 bug +## 0.4.6(2021-10-19) +- 修复 非 VUE3 v-model 为 0 时无法选中的 bug +## 0.4.5(2021-09-26) +- 新增 清除已选项的功能(通过 clearIcon 属性配置是否显示按钮),同时提供 clear 方法以供调用,二者等效 +- 修复 readonly 为 true 时报错的 bug +## 0.4.4(2021-09-26) +- 修复 上一版本造成的 map 属性失效的 bug +- 新增 ellipsis 属性,支持配置 tab 选项长度过长时是否自动省略 +## 0.4.3(2021-09-24) +- 修复 某些情况下级联未触发的 bug +## 0.4.2(2021-09-23) +- 新增 提供 show 和 hide 方法,开发者可以通过 ref 调用 +- 新增 选项内容过长自动添加省略号 +## 0.4.1(2021-09-15) +- 新增 map 属性 字段映射,将 text/value 映射到数据中的其他字段 +## 0.4.0(2021-07-13) +- 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 0.3.5(2021-06-04) +- 修复 无法加载云端数据的问题 +## 0.3.4(2021-05-28) +- 修复 v-model 无效问题 +- 修复 loaddata 为空数据组时加载时间过长问题 +- 修复 上个版本引出的本地数据无法选择带有 children 的 2 级节点 +## 0.3.3(2021-05-12) +- 新增 组件示例地址 +## 0.3.2(2021-04-22) +- 修复 非树形数据有 where 属性查询报错的问题 +## 0.3.1(2021-04-15) +- 修复 本地数据概率无法回显时问题 +## 0.3.0(2021-04-07) +- 新增 支持云端非树形表结构数据 +- 修复 根节点 parent_field 字段等于 null 时选择界面错乱问题 +## 0.2.0(2021-03-15) +- 修复 nodeclick、popupopened、popupclosed 事件无法触发的问题 +## 0.1.9(2021-03-09) +- 修复 微信小程序某些情况下无法选择的问题 +## 0.1.8(2021-02-05) +- 优化 部分样式在 nvue 上的兼容表现 +## 0.1.7(2021-02-05) +- 调整为 uni_modules 目录规范 diff --git a/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js b/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js new file mode 100644 index 0000000..6ef26a2 --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js @@ -0,0 +1,45 @@ +// #ifdef H5 +export default { + name: 'Keypress', + props: { + disable: { + type: Boolean, + default: false + } + }, + mounted () { + const keyNames = { + esc: ['Esc', 'Escape'], + tab: 'Tab', + enter: 'Enter', + space: [' ', 'Spacebar'], + up: ['Up', 'ArrowUp'], + left: ['Left', 'ArrowLeft'], + right: ['Right', 'ArrowRight'], + down: ['Down', 'ArrowDown'], + delete: ['Backspace', 'Delete', 'Del'] + } + const listener = ($event) => { + if (this.disable) { + return + } + const keyName = Object.keys(keyNames).find(key => { + const keyName = $event.key + const value = keyNames[key] + return value === keyName || (Array.isArray(value) && value.includes(keyName)) + }) + if (keyName) { + // 避免和其他按键事件冲突 + setTimeout(() => { + this.$emit(keyName, {}) + }, 0) + } + } + document.addEventListener('keyup', listener) + this.$once('hook:beforeDestroy', () => { + document.removeEventListener('keyup', listener) + }) + }, + render: () => {} +} +// #endif diff --git a/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue b/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue new file mode 100644 index 0000000..251eb0b --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue @@ -0,0 +1,554 @@ + + + + + diff --git a/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js new file mode 100644 index 0000000..c12fd54 --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-picker.js @@ -0,0 +1,563 @@ +export default { + props: { + localdata: { + type: [Array, Object], + default () { + return [] + } + }, + spaceInfo: { + type: Object, + default () { + return {} + } + }, + collection: { + type: String, + default: '' + }, + action: { + type: String, + default: '' + }, + field: { + type: String, + default: '' + }, + orderby: { + type: String, + default: '' + }, + where: { + type: [String, Object], + default: '' + }, + pageData: { + type: String, + default: 'add' + }, + pageCurrent: { + type: Number, + default: 1 + }, + pageSize: { + type: Number, + default: 20 + }, + getcount: { + type: [Boolean, String], + default: false + }, + getone: { + type: [Boolean, String], + default: false + }, + gettree: { + type: [Boolean, String], + default: false + }, + manual: { + type: Boolean, + default: false + }, + value: { + type: [Array, String, Number], + default () { + return [] + } + }, + modelValue: { + type: [Array, String, Number], + default () { + return [] + } + }, + preload: { + type: Boolean, + default: false + }, + stepSearh: { + type: Boolean, + default: true + }, + selfField: { + type: String, + default: '' + }, + parentField: { + type: String, + default: '' + }, + multiple: { + type: Boolean, + default: false + }, + map: { + type: Object, + default() { + return { + text: "text", + value: "value" + } + } + } + }, + data() { + return { + loading: false, + errorMessage: '', + loadMore: { + contentdown: '', + contentrefresh: '', + contentnomore: '' + }, + dataList: [], + selected: [], + selectedIndex: 0, + page: { + current: this.pageCurrent, + size: this.pageSize, + count: 0 + } + } + }, + computed: { + isLocaldata() { + return !this.collection.length + }, + postField() { + let fields = [this.field]; + if (this.parentField) { + fields.push(`${this.parentField} as parent_value`); + } + return fields.join(','); + }, + dataValue() { + let isModelValue = Array.isArray(this.modelValue) ? (this.modelValue.length > 0) : (this.modelValue !== null || this.modelValue !== undefined) + return isModelValue ? this.modelValue : this.value + }, + hasValue() { + if (typeof this.dataValue === 'number') { + return true + } + return (this.dataValue != null) && (this.dataValue.length > 0) + } + }, + created() { + this.$watch(() => { + var al = []; + ['pageCurrent', + 'pageSize', + 'spaceInfo', + 'value', + 'modelValue', + 'localdata', + 'collection', + 'action', + 'field', + 'orderby', + 'where', + 'getont', + 'getcount', + 'gettree' + ].forEach(key => { + al.push(this[key]) + }); + return al + }, (newValue, oldValue) => { + let needReset = false + for (let i = 2; i < newValue.length; i++) { + if (newValue[i] != oldValue[i]) { + needReset = true + break + } + } + if (newValue[0] != oldValue[0]) { + this.page.current = this.pageCurrent + } + this.page.size = this.pageSize + + this.onPropsChange() + }) + this._treeData = [] + }, + methods: { + onPropsChange() { + this._treeData = [] + }, + getCommand(options = {}) { + /* eslint-disable no-undef */ + let db = uniCloud.database(this.spaceInfo) + + const action = options.action || this.action + if (action) { + db = db.action(action) + } + + const collection = options.collection || this.collection + db = db.collection(collection) + + const where = options.where || this.where + if (!(!where || !Object.keys(where).length)) { + db = db.where(where) + } + + const field = options.field || this.field + if (field) { + db = db.field(field) + } + + const orderby = options.orderby || this.orderby + if (orderby) { + db = db.orderBy(orderby) + } + + const current = options.pageCurrent !== undefined ? options.pageCurrent : this.page.current + const size = options.pageSize !== undefined ? options.pageSize : this.page.size + const getCount = options.getcount !== undefined ? options.getcount : this.getcount + const getTree = options.gettree !== undefined ? options.gettree : this.gettree + + const getOptions = { + getCount, + getTree + } + if (options.getTreePath) { + getOptions.getTreePath = options.getTreePath + } + + db = db.skip(size * (current - 1)).limit(size).get(getOptions) + + return db + }, + getNodeData(callback) { + if (this.loading) { + return + } + this.loading = true + this.getCommand({ + field: this.postField, + where: this._pathWhere() + }).then((res) => { + this.loading = false + this.selected = res.result.data + callback && callback() + }).catch((err) => { + this.loading = false + this.errorMessage = err + }) + }, + getTreePath(callback) { + if (this.loading) { + return + } + this.loading = true + + this.getCommand({ + field: this.postField, + getTreePath: { + startWith: `${this.selfField}=='${this.dataValue}'` + } + }).then((res) => { + this.loading = false + let treePath = [] + this._extractTreePath(res.result.data, treePath) + this.selected = treePath + callback && callback() + }).catch((err) => { + this.loading = false + this.errorMessage = err + }) + }, + loadData() { + if (this.isLocaldata) { + this._processLocalData() + return + } + + if (this.dataValue != null) { + this._loadNodeData((data) => { + this._treeData = data + this._updateBindData() + this._updateSelected() + }) + return + } + + if (this.stepSearh) { + this._loadNodeData((data) => { + this._treeData = data + this._updateBindData() + }) + } else { + this._loadAllData((data) => { + this._treeData = [] + this._extractTree(data, this._treeData, null) + this._updateBindData() + }) + } + }, + _loadAllData(callback) { + if (this.loading) { + return + } + this.loading = true + + this.getCommand({ + field: this.postField, + gettree: true, + startwith: `${this.selfField}=='${this.dataValue}'` + }).then((res) => { + this.loading = false + callback(res.result.data) + this.onDataChange() + }).catch((err) => { + this.loading = false + this.errorMessage = err + }) + }, + _loadNodeData(callback, pw) { + if (this.loading) { + return + } + this.loading = true + + this.getCommand({ + field: this.postField, + where: pw || this._postWhere(), + pageSize: 500 + }).then((res) => { + this.loading = false + callback(res.result.data) + this.onDataChange() + }).catch((err) => { + this.loading = false + this.errorMessage = err + }) + }, + _pathWhere() { + let result = [] + let where_field = this._getParentNameByField(); + if (where_field) { + result.push(`${where_field} == '${this.dataValue}'`) + } + + if (this.where) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + _postWhere() { + let result = [] + let selected = this.selected + let parentField = this.parentField + if (parentField) { + result.push(`${parentField} == null || ${parentField} == ""`) + } + if (selected.length) { + for (var i = 0; i < selected.length - 1; i++) { + result.push(`${parentField} == '${selected[i].value}'`) + } + } + + let where = [] + if (this.where) { + where.push(`(${this.where})`) + } + if (result.length) { + where.push(`(${result.join(' || ')})`) + } + + return where.join(' && ') + }, + _nodeWhere() { + let result = [] + let selected = this.selected + if (selected.length) { + result.push(`${this.parentField} == '${selected[selected.length - 1].value}'`) + } + + if (this.where) { + return `(${this.where}) && (${result.join(' || ')})` + } + + return result.join(' || ') + }, + _getParentNameByField() { + const fields = this.field.split(','); + let where_field = null; + for (let i = 0; i < fields.length; i++) { + const items = fields[i].split('as'); + if (items.length < 2) { + continue; + } + if (items[1].trim() === 'value') { + where_field = items[0].trim(); + break; + } + } + return where_field + }, + _isTreeView() { + return (this.parentField && this.selfField) + }, + _updateSelected() { + var dl = this.dataList + var sl = this.selected + let textField = this.map.text + let valueField = this.map.value + for (var i = 0; i < sl.length; i++) { + var value = sl[i].value + var dl2 = dl[i] + for (var j = 0; j < dl2.length; j++) { + var item2 = dl2[j] + if (item2[valueField] === value) { + sl[i].text = item2[textField] + break + } + } + } + }, + _updateBindData(node) { + const { + dataList, + hasNodes + } = this._filterData(this._treeData, this.selected) + + let isleaf = this._stepSearh === false && !hasNodes + + if (node) { + node.isleaf = isleaf + } + + this.dataList = dataList + this.selectedIndex = dataList.length - 1 + + if (!isleaf && this.selected.length < dataList.length) { + this.selected.push({ + value: null, + text: "请选择" + }) + } + + return { + isleaf, + hasNodes + } + }, + _filterData(data, paths) { + let dataList = [] + let hasNodes = true + + dataList.push(data.filter((item) => { + return (item.parent_value === null || item.parent_value === undefined || item.parent_value === '') + })) + for (let i = 0; i < paths.length; i++) { + var value = paths[i].value + var nodes = data.filter((item) => { + return item.parent_value === value + }) + + if (nodes.length) { + dataList.push(nodes) + } else { + hasNodes = false + } + } + + return { + dataList, + hasNodes + } + }, + _extractTree(nodes, result, parent_value) { + let list = result || [] + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + if (parent_value !== null && parent_value !== undefined && parent_value !== '') { + child.parent_value = parent_value + } + result.push(child) + + let children = node.children + if (children) { + this._extractTree(children, result, node[valueField]) + } + } + }, + _extractTreePath(nodes, result) { + let list = result || [] + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + + let child = {} + for (let key in node) { + if (key !== 'children') { + child[key] = node[key] + } + } + result.push(child) + + let children = node.children + if (children) { + this._extractTreePath(children, result) + } + } + }, + _findNodePath(key, nodes, path = []) { + let textField = this.map.text + let valueField = this.map.value + for (let i = 0; i < nodes.length; i++) { + let node = nodes[i] + let children = node.children + let text = node[textField] + let value = node[valueField] + + path.push({ + value, + text + }) + + if (value === key) { + return path + } + + if (children) { + const p = this._findNodePath(key, children, path) + if (p.length) { + return p + } + } + + path.pop() + } + return [] + }, + _processLocalData() { + this._treeData = [] + this._extractTree(this.localdata, this._treeData) + + var inputValue = this.dataValue + if (inputValue === undefined) { + return + } + + if (Array.isArray(inputValue)) { + inputValue = inputValue[inputValue.length - 1] + if (typeof inputValue === 'object' && inputValue[this.map.value]) { + inputValue = inputValue[this.map.value] + } + } + + this.selected = this._findNodePath(inputValue, this.localdata) + } + } +} diff --git a/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue new file mode 100644 index 0000000..159b54d --- /dev/null +++ b/uni_modules/uni-data-picker/components/uni-data-pickerview/uni-data-pickerview.vue @@ -0,0 +1,335 @@ + + + + diff --git a/uni_modules/uni-data-picker/package.json b/uni_modules/uni-data-picker/package.json new file mode 100644 index 0000000..04b4610 --- /dev/null +++ b/uni_modules/uni-data-picker/package.json @@ -0,0 +1,90 @@ +{ + "id": "uni-data-picker", + "displayName": "uni-data-picker 数据驱动的picker选择器", + "version": "1.0.9", + "description": "单列、多列级联选择器,常用于省市区城市选择、公司部门选择、多级分类等场景", + "keywords": [ + "uni-ui", + "uniui", + "picker", + "级联", + "省市区", + "" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "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-load-more", + "uni-icons", + "uni-scss" + ], + "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", + "京东": "u" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-data-picker/readme.md b/uni_modules/uni-data-picker/readme.md new file mode 100644 index 0000000..6cda224 --- /dev/null +++ b/uni_modules/uni-data-picker/readme.md @@ -0,0 +1,22 @@ +## DataPicker 级联选择 +> **组件名:uni-data-picker** +> 代码块: `uDataPicker` +> 关联组件:`uni-data-pickerview`、`uni-load-more`。 + + +`` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 + +支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 + +候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 + +`` 组件尤其适用于地址选择、分类选择等选择类。 + +`` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 + +`` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 + +在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) +#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 \ No newline at end of file diff --git a/uni_modules/uni-icons/changelog.md b/uni_modules/uni-icons/changelog.md new file mode 100644 index 0000000..6449885 --- /dev/null +++ b/uni_modules/uni-icons/changelog.md @@ -0,0 +1,22 @@ +## 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/icons.js b/uni_modules/uni-icons/components/uni-icons/icons.js new file mode 100644 index 0000000..7889936 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/icons.js @@ -0,0 +1,1169 @@ +export default { + "id": "2852637", + "name": "uniui图标库", + "font_family": "uniicons", + "css_prefix_text": "uniui-", + "description": "", + "glyphs": [ + { + "icon_id": "25027049", + "name": "yanse", + "font_class": "color", + "unicode": "e6cf", + "unicode_decimal": 59087 + }, + { + "icon_id": "25027048", + "name": "wallet", + "font_class": "wallet", + "unicode": "e6b1", + "unicode_decimal": 59057 + }, + { + "icon_id": "25015720", + "name": "settings-filled", + "font_class": "settings-filled", + "unicode": "e6ce", + "unicode_decimal": 59086 + }, + { + "icon_id": "25015434", + "name": "shimingrenzheng-filled", + "font_class": "auth-filled", + "unicode": "e6cc", + "unicode_decimal": 59084 + }, + { + "icon_id": "24934246", + "name": "shop-filled", + "font_class": "shop-filled", + "unicode": "e6cd", + "unicode_decimal": 59085 + }, + { + "icon_id": "24934159", + "name": "staff-filled-01", + "font_class": "staff-filled", + "unicode": "e6cb", + "unicode_decimal": 59083 + }, + { + "icon_id": "24932461", + "name": "VIP-filled", + "font_class": "vip-filled", + "unicode": "e6c6", + "unicode_decimal": 59078 + }, + { + "icon_id": "24932462", + "name": "plus_circle_fill", + "font_class": "plus-filled", + "unicode": "e6c7", + "unicode_decimal": 59079 + }, + { + "icon_id": "24932463", + "name": "folder_add-filled", + "font_class": "folder-add-filled", + "unicode": "e6c8", + "unicode_decimal": 59080 + }, + { + "icon_id": "24932464", + "name": "yanse-filled", + "font_class": "color-filled", + "unicode": "e6c9", + "unicode_decimal": 59081 + }, + { + "icon_id": "24932465", + "name": "tune-filled", + "font_class": "tune-filled", + "unicode": "e6ca", + "unicode_decimal": 59082 + }, + { + "icon_id": "24932455", + "name": "a-rilidaka-filled", + "font_class": "calendar-filled", + "unicode": "e6c0", + "unicode_decimal": 59072 + }, + { + "icon_id": "24932456", + "name": "notification-filled", + "font_class": "notification-filled", + "unicode": "e6c1", + "unicode_decimal": 59073 + }, + { + "icon_id": "24932457", + "name": "wallet-filled", + "font_class": "wallet-filled", + "unicode": "e6c2", + "unicode_decimal": 59074 + }, + { + "icon_id": "24932458", + "name": "paihangbang-filled", + "font_class": "medal-filled", + "unicode": "e6c3", + "unicode_decimal": 59075 + }, + { + "icon_id": "24932459", + "name": "gift-filled", + "font_class": "gift-filled", + "unicode": "e6c4", + "unicode_decimal": 59076 + }, + { + "icon_id": "24932460", + "name": "fire-filled", + "font_class": "fire-filled", + "unicode": "e6c5", + "unicode_decimal": 59077 + }, + { + "icon_id": "24928001", + "name": "refreshempty", + "font_class": "refreshempty", + "unicode": "e6bf", + "unicode_decimal": 59071 + }, + { + "icon_id": "24926853", + "name": "location-ellipse", + "font_class": "location-filled", + "unicode": "e6af", + "unicode_decimal": 59055 + }, + { + "icon_id": "24926735", + "name": "person-filled", + "font_class": "person-filled", + "unicode": "e69d", + "unicode_decimal": 59037 + }, + { + "icon_id": "24926703", + "name": "personadd-filled", + "font_class": "personadd-filled", + "unicode": "e698", + "unicode_decimal": 59032 + }, + { + "icon_id": "24923351", + "name": "back", + "font_class": "back", + "unicode": "e6b9", + "unicode_decimal": 59065 + }, + { + "icon_id": "24923352", + "name": "forward", + "font_class": "forward", + "unicode": "e6ba", + "unicode_decimal": 59066 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrow-right", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923353", + "name": "arrowthinright", + "font_class": "arrowthinright", + "unicode": "e6bb", + "unicode_decimal": 59067 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrow-left", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923354", + "name": "arrowthinleft", + "font_class": "arrowthinleft", + "unicode": "e6bc", + "unicode_decimal": 59068 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrow-up", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923355", + "name": "arrowthinup", + "font_class": "arrowthinup", + "unicode": "e6bd", + "unicode_decimal": 59069 + }, + { + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrow-down", + "unicode": "e6be", + "unicode_decimal": 59070 + },{ + "icon_id": "24923356", + "name": "arrowthindown", + "font_class": "arrowthindown", + "unicode": "e6be", + "unicode_decimal": 59070 + }, + { + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "bottom", + "unicode": "e6b8", + "unicode_decimal": 59064 + },{ + "icon_id": "24923349", + "name": "arrowdown", + "font_class": "arrowdown", + "unicode": "e6b8", + "unicode_decimal": 59064 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "right", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923346", + "name": "arrowright", + "font_class": "arrowright", + "unicode": "e6b5", + "unicode_decimal": 59061 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "top", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923347", + "name": "arrowup", + "font_class": "arrowup", + "unicode": "e6b6", + "unicode_decimal": 59062 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "left", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923348", + "name": "arrowleft", + "font_class": "arrowleft", + "unicode": "e6b7", + "unicode_decimal": 59063 + }, + { + "icon_id": "24923334", + "name": "eye", + "font_class": "eye", + "unicode": "e651", + "unicode_decimal": 58961 + }, + { + "icon_id": "24923335", + "name": "eye-filled", + "font_class": "eye-filled", + "unicode": "e66a", + "unicode_decimal": 58986 + }, + { + "icon_id": "24923336", + "name": "eye-slash", + "font_class": "eye-slash", + "unicode": "e6b3", + "unicode_decimal": 59059 + }, + { + "icon_id": "24923337", + "name": "eye-slash-filled", + "font_class": "eye-slash-filled", + "unicode": "e6b4", + "unicode_decimal": 59060 + }, + { + "icon_id": "24923305", + "name": "info-filled", + "font_class": "info-filled", + "unicode": "e649", + "unicode_decimal": 58953 + }, + { + "icon_id": "24923299", + "name": "reload-01", + "font_class": "reload", + "unicode": "e6b2", + "unicode_decimal": 59058 + }, + { + "icon_id": "24923195", + "name": "mic_slash_fill", + "font_class": "micoff-filled", + "unicode": "e6b0", + "unicode_decimal": 59056 + }, + { + "icon_id": "24923165", + "name": "map-pin-ellipse", + "font_class": "map-pin-ellipse", + "unicode": "e6ac", + "unicode_decimal": 59052 + }, + { + "icon_id": "24923166", + "name": "map-pin", + "font_class": "map-pin", + "unicode": "e6ad", + "unicode_decimal": 59053 + }, + { + "icon_id": "24923167", + "name": "location", + "font_class": "location", + "unicode": "e6ae", + "unicode_decimal": 59054 + }, + { + "icon_id": "24923064", + "name": "starhalf", + "font_class": "starhalf", + "unicode": "e683", + "unicode_decimal": 59011 + }, + { + "icon_id": "24923065", + "name": "star", + "font_class": "star", + "unicode": "e688", + "unicode_decimal": 59016 + }, + { + "icon_id": "24923066", + "name": "star-filled", + "font_class": "star-filled", + "unicode": "e68f", + "unicode_decimal": 59023 + }, + { + "icon_id": "24899646", + "name": "a-rilidaka", + "font_class": "calendar", + "unicode": "e6a0", + "unicode_decimal": 59040 + }, + { + "icon_id": "24899647", + "name": "fire", + "font_class": "fire", + "unicode": "e6a1", + "unicode_decimal": 59041 + }, + { + "icon_id": "24899648", + "name": "paihangbang", + "font_class": "medal", + "unicode": "e6a2", + "unicode_decimal": 59042 + }, + { + "icon_id": "24899649", + "name": "font", + "font_class": "font", + "unicode": "e6a3", + "unicode_decimal": 59043 + }, + { + "icon_id": "24899650", + "name": "gift", + "font_class": "gift", + "unicode": "e6a4", + "unicode_decimal": 59044 + }, + { + "icon_id": "24899651", + "name": "link", + "font_class": "link", + "unicode": "e6a5", + "unicode_decimal": 59045 + }, + { + "icon_id": "24899652", + "name": "notification", + "font_class": "notification", + "unicode": "e6a6", + "unicode_decimal": 59046 + }, + { + "icon_id": "24899653", + "name": "staff", + "font_class": "staff", + "unicode": "e6a7", + "unicode_decimal": 59047 + }, + { + "icon_id": "24899654", + "name": "VIP", + "font_class": "vip", + "unicode": "e6a8", + "unicode_decimal": 59048 + }, + { + "icon_id": "24899655", + "name": "folder_add", + "font_class": "folder-add", + "unicode": "e6a9", + "unicode_decimal": 59049 + }, + { + "icon_id": "24899656", + "name": "tune", + "font_class": "tune", + "unicode": "e6aa", + "unicode_decimal": 59050 + }, + { + "icon_id": "24899657", + "name": "shimingrenzheng", + "font_class": "auth", + "unicode": "e6ab", + "unicode_decimal": 59051 + }, + { + "icon_id": "24899565", + "name": "person", + "font_class": "person", + "unicode": "e699", + "unicode_decimal": 59033 + }, + { + "icon_id": "24899566", + "name": "email-filled", + "font_class": "email-filled", + "unicode": "e69a", + "unicode_decimal": 59034 + }, + { + "icon_id": "24899567", + "name": "phone-filled", + "font_class": "phone-filled", + "unicode": "e69b", + "unicode_decimal": 59035 + }, + { + "icon_id": "24899568", + "name": "phone", + "font_class": "phone", + "unicode": "e69c", + "unicode_decimal": 59036 + }, + { + "icon_id": "24899570", + "name": "email", + "font_class": "email", + "unicode": "e69e", + "unicode_decimal": 59038 + }, + { + "icon_id": "24899571", + "name": "personadd", + "font_class": "personadd", + "unicode": "e69f", + "unicode_decimal": 59039 + }, + { + "icon_id": "24899558", + "name": "chatboxes-filled", + "font_class": "chatboxes-filled", + "unicode": "e692", + "unicode_decimal": 59026 + }, + { + "icon_id": "24899559", + "name": "contact", + "font_class": "contact", + "unicode": "e693", + "unicode_decimal": 59027 + }, + { + "icon_id": "24899560", + "name": "chatbubble-filled", + "font_class": "chatbubble-filled", + "unicode": "e694", + "unicode_decimal": 59028 + }, + { + "icon_id": "24899561", + "name": "contact-filled", + "font_class": "contact-filled", + "unicode": "e695", + "unicode_decimal": 59029 + }, + { + "icon_id": "24899562", + "name": "chatboxes", + "font_class": "chatboxes", + "unicode": "e696", + "unicode_decimal": 59030 + }, + { + "icon_id": "24899563", + "name": "chatbubble", + "font_class": "chatbubble", + "unicode": "e697", + "unicode_decimal": 59031 + }, + { + "icon_id": "24881290", + "name": "upload-filled", + "font_class": "upload-filled", + "unicode": "e68e", + "unicode_decimal": 59022 + }, + { + "icon_id": "24881292", + "name": "upload", + "font_class": "upload", + "unicode": "e690", + "unicode_decimal": 59024 + }, + { + "icon_id": "24881293", + "name": "weixin", + "font_class": "weixin", + "unicode": "e691", + "unicode_decimal": 59025 + }, + { + "icon_id": "24881274", + "name": "compose", + "font_class": "compose", + "unicode": "e67f", + "unicode_decimal": 59007 + }, + { + "icon_id": "24881275", + "name": "qq", + "font_class": "qq", + "unicode": "e680", + "unicode_decimal": 59008 + }, + { + "icon_id": "24881276", + "name": "download-filled", + "font_class": "download-filled", + "unicode": "e681", + "unicode_decimal": 59009 + }, + { + "icon_id": "24881277", + "name": "pengyouquan", + "font_class": "pyq", + "unicode": "e682", + "unicode_decimal": 59010 + }, + { + "icon_id": "24881279", + "name": "sound", + "font_class": "sound", + "unicode": "e684", + "unicode_decimal": 59012 + }, + { + "icon_id": "24881280", + "name": "trash-filled", + "font_class": "trash-filled", + "unicode": "e685", + "unicode_decimal": 59013 + }, + { + "icon_id": "24881281", + "name": "sound-filled", + "font_class": "sound-filled", + "unicode": "e686", + "unicode_decimal": 59014 + }, + { + "icon_id": "24881282", + "name": "trash", + "font_class": "trash", + "unicode": "e687", + "unicode_decimal": 59015 + }, + { + "icon_id": "24881284", + "name": "videocam-filled", + "font_class": "videocam-filled", + "unicode": "e689", + "unicode_decimal": 59017 + }, + { + "icon_id": "24881285", + "name": "spinner-cycle", + "font_class": "spinner-cycle", + "unicode": "e68a", + "unicode_decimal": 59018 + }, + { + "icon_id": "24881286", + "name": "weibo", + "font_class": "weibo", + "unicode": "e68b", + "unicode_decimal": 59019 + }, + { + "icon_id": "24881288", + "name": "videocam", + "font_class": "videocam", + "unicode": "e68c", + "unicode_decimal": 59020 + }, + { + "icon_id": "24881289", + "name": "download", + "font_class": "download", + "unicode": "e68d", + "unicode_decimal": 59021 + }, + { + "icon_id": "24879601", + "name": "help", + "font_class": "help", + "unicode": "e679", + "unicode_decimal": 59001 + }, + { + "icon_id": "24879602", + "name": "navigate-filled", + "font_class": "navigate-filled", + "unicode": "e67a", + "unicode_decimal": 59002 + }, + { + "icon_id": "24879603", + "name": "plusempty", + "font_class": "plusempty", + "unicode": "e67b", + "unicode_decimal": 59003 + }, + { + "icon_id": "24879604", + "name": "smallcircle", + "font_class": "smallcircle", + "unicode": "e67c", + "unicode_decimal": 59004 + }, + { + "icon_id": "24879605", + "name": "minus-filled", + "font_class": "minus-filled", + "unicode": "e67d", + "unicode_decimal": 59005 + }, + { + "icon_id": "24879606", + "name": "micoff", + "font_class": "micoff", + "unicode": "e67e", + "unicode_decimal": 59006 + }, + { + "icon_id": "24879588", + "name": "closeempty", + "font_class": "closeempty", + "unicode": "e66c", + "unicode_decimal": 58988 + }, + { + "icon_id": "24879589", + "name": "clear", + "font_class": "clear", + "unicode": "e66d", + "unicode_decimal": 58989 + }, + { + "icon_id": "24879590", + "name": "navigate", + "font_class": "navigate", + "unicode": "e66e", + "unicode_decimal": 58990 + }, + { + "icon_id": "24879591", + "name": "minus", + "font_class": "minus", + "unicode": "e66f", + "unicode_decimal": 58991 + }, + { + "icon_id": "24879592", + "name": "image", + "font_class": "image", + "unicode": "e670", + "unicode_decimal": 58992 + }, + { + "icon_id": "24879593", + "name": "mic", + "font_class": "mic", + "unicode": "e671", + "unicode_decimal": 58993 + }, + { + "icon_id": "24879594", + "name": "paperplane", + "font_class": "paperplane", + "unicode": "e672", + "unicode_decimal": 58994 + }, + { + "icon_id": "24879595", + "name": "close", + "font_class": "close", + "unicode": "e673", + "unicode_decimal": 58995 + }, + { + "icon_id": "24879596", + "name": "help-filled", + "font_class": "help-filled", + "unicode": "e674", + "unicode_decimal": 58996 + }, + { + "icon_id": "24879597", + "name": "plus-filled", + "font_class": "paperplane-filled", + "unicode": "e675", + "unicode_decimal": 58997 + }, + { + "icon_id": "24879598", + "name": "plus", + "font_class": "plus", + "unicode": "e676", + "unicode_decimal": 58998 + }, + { + "icon_id": "24879599", + "name": "mic-filled", + "font_class": "mic-filled", + "unicode": "e677", + "unicode_decimal": 58999 + }, + { + "icon_id": "24879600", + "name": "image-filled", + "font_class": "image-filled", + "unicode": "e678", + "unicode_decimal": 59000 + }, + { + "icon_id": "24855900", + "name": "locked-filled", + "font_class": "locked-filled", + "unicode": "e668", + "unicode_decimal": 58984 + }, + { + "icon_id": "24855901", + "name": "info", + "font_class": "info", + "unicode": "e669", + "unicode_decimal": 58985 + }, + { + "icon_id": "24855903", + "name": "locked", + "font_class": "locked", + "unicode": "e66b", + "unicode_decimal": 58987 + }, + { + "icon_id": "24855884", + "name": "camera-filled", + "font_class": "camera-filled", + "unicode": "e658", + "unicode_decimal": 58968 + }, + { + "icon_id": "24855885", + "name": "chat-filled", + "font_class": "chat-filled", + "unicode": "e659", + "unicode_decimal": 58969 + }, + { + "icon_id": "24855886", + "name": "camera", + "font_class": "camera", + "unicode": "e65a", + "unicode_decimal": 58970 + }, + { + "icon_id": "24855887", + "name": "circle", + "font_class": "circle", + "unicode": "e65b", + "unicode_decimal": 58971 + }, + { + "icon_id": "24855888", + "name": "checkmarkempty", + "font_class": "checkmarkempty", + "unicode": "e65c", + "unicode_decimal": 58972 + }, + { + "icon_id": "24855889", + "name": "chat", + "font_class": "chat", + "unicode": "e65d", + "unicode_decimal": 58973 + }, + { + "icon_id": "24855890", + "name": "circle-filled", + "font_class": "circle-filled", + "unicode": "e65e", + "unicode_decimal": 58974 + }, + { + "icon_id": "24855891", + "name": "flag", + "font_class": "flag", + "unicode": "e65f", + "unicode_decimal": 58975 + }, + { + "icon_id": "24855892", + "name": "flag-filled", + "font_class": "flag-filled", + "unicode": "e660", + "unicode_decimal": 58976 + }, + { + "icon_id": "24855893", + "name": "gear-filled", + "font_class": "gear-filled", + "unicode": "e661", + "unicode_decimal": 58977 + }, + { + "icon_id": "24855894", + "name": "home", + "font_class": "home", + "unicode": "e662", + "unicode_decimal": 58978 + }, + { + "icon_id": "24855895", + "name": "home-filled", + "font_class": "home-filled", + "unicode": "e663", + "unicode_decimal": 58979 + }, + { + "icon_id": "24855896", + "name": "gear", + "font_class": "gear", + "unicode": "e664", + "unicode_decimal": 58980 + }, + { + "icon_id": "24855897", + "name": "smallcircle-filled", + "font_class": "smallcircle-filled", + "unicode": "e665", + "unicode_decimal": 58981 + }, + { + "icon_id": "24855898", + "name": "map-filled", + "font_class": "map-filled", + "unicode": "e666", + "unicode_decimal": 58982 + }, + { + "icon_id": "24855899", + "name": "map", + "font_class": "map", + "unicode": "e667", + "unicode_decimal": 58983 + }, + { + "icon_id": "24855825", + "name": "refresh-filled", + "font_class": "refresh-filled", + "unicode": "e656", + "unicode_decimal": 58966 + }, + { + "icon_id": "24855826", + "name": "refresh", + "font_class": "refresh", + "unicode": "e657", + "unicode_decimal": 58967 + }, + { + "icon_id": "24855808", + "name": "cloud-upload", + "font_class": "cloud-upload", + "unicode": "e645", + "unicode_decimal": 58949 + }, + { + "icon_id": "24855809", + "name": "cloud-download-filled", + "font_class": "cloud-download-filled", + "unicode": "e646", + "unicode_decimal": 58950 + }, + { + "icon_id": "24855810", + "name": "cloud-download", + "font_class": "cloud-download", + "unicode": "e647", + "unicode_decimal": 58951 + }, + { + "icon_id": "24855811", + "name": "cloud-upload-filled", + "font_class": "cloud-upload-filled", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "24855813", + "name": "redo", + "font_class": "redo", + "unicode": "e64a", + "unicode_decimal": 58954 + }, + { + "icon_id": "24855814", + "name": "images-filled", + "font_class": "images-filled", + "unicode": "e64b", + "unicode_decimal": 58955 + }, + { + "icon_id": "24855815", + "name": "undo-filled", + "font_class": "undo-filled", + "unicode": "e64c", + "unicode_decimal": 58956 + }, + { + "icon_id": "24855816", + "name": "more", + "font_class": "more", + "unicode": "e64d", + "unicode_decimal": 58957 + }, + { + "icon_id": "24855817", + "name": "more-filled", + "font_class": "more-filled", + "unicode": "e64e", + "unicode_decimal": 58958 + }, + { + "icon_id": "24855818", + "name": "undo", + "font_class": "undo", + "unicode": "e64f", + "unicode_decimal": 58959 + }, + { + "icon_id": "24855819", + "name": "images", + "font_class": "images", + "unicode": "e650", + "unicode_decimal": 58960 + }, + { + "icon_id": "24855821", + "name": "paperclip", + "font_class": "paperclip", + "unicode": "e652", + "unicode_decimal": 58962 + }, + { + "icon_id": "24855822", + "name": "settings", + "font_class": "settings", + "unicode": "e653", + "unicode_decimal": 58963 + }, + { + "icon_id": "24855823", + "name": "search", + "font_class": "search", + "unicode": "e654", + "unicode_decimal": 58964 + }, + { + "icon_id": "24855824", + "name": "redo-filled", + "font_class": "redo-filled", + "unicode": "e655", + "unicode_decimal": 58965 + }, + { + "icon_id": "24841702", + "name": "list", + "font_class": "list", + "unicode": "e644", + "unicode_decimal": 58948 + }, + { + "icon_id": "24841489", + "name": "mail-open-filled", + "font_class": "mail-open-filled", + "unicode": "e63a", + "unicode_decimal": 58938 + }, + { + "icon_id": "24841491", + "name": "hand-thumbsdown-filled", + "font_class": "hand-down-filled", + "unicode": "e63c", + "unicode_decimal": 58940 + }, + { + "icon_id": "24841492", + "name": "hand-thumbsdown", + "font_class": "hand-down", + "unicode": "e63d", + "unicode_decimal": 58941 + }, + { + "icon_id": "24841493", + "name": "hand-thumbsup-filled", + "font_class": "hand-up-filled", + "unicode": "e63e", + "unicode_decimal": 58942 + }, + { + "icon_id": "24841494", + "name": "hand-thumbsup", + "font_class": "hand-up", + "unicode": "e63f", + "unicode_decimal": 58943 + }, + { + "icon_id": "24841496", + "name": "heart-filled", + "font_class": "heart-filled", + "unicode": "e641", + "unicode_decimal": 58945 + }, + { + "icon_id": "24841498", + "name": "mail-open", + "font_class": "mail-open", + "unicode": "e643", + "unicode_decimal": 58947 + }, + { + "icon_id": "24841488", + "name": "heart", + "font_class": "heart", + "unicode": "e639", + "unicode_decimal": 58937 + }, + { + "icon_id": "24839963", + "name": "loop", + "font_class": "loop", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "24839866", + "name": "pulldown", + "font_class": "pulldown", + "unicode": "e632", + "unicode_decimal": 58930 + }, + { + "icon_id": "24813798", + "name": "scan", + "font_class": "scan", + "unicode": "e62a", + "unicode_decimal": 58922 + }, + { + "icon_id": "24813786", + "name": "bars", + "font_class": "bars", + "unicode": "e627", + "unicode_decimal": 58919 + }, + { + "icon_id": "24813788", + "name": "cart-filled", + "font_class": "cart-filled", + "unicode": "e629", + "unicode_decimal": 58921 + }, + { + "icon_id": "24813790", + "name": "checkbox", + "font_class": "checkbox", + "unicode": "e62b", + "unicode_decimal": 58923 + }, + { + "icon_id": "24813791", + "name": "checkbox-filled", + "font_class": "checkbox-filled", + "unicode": "e62c", + "unicode_decimal": 58924 + }, + { + "icon_id": "24813794", + "name": "shop", + "font_class": "shop", + "unicode": "e62f", + "unicode_decimal": 58927 + }, + { + "icon_id": "24813795", + "name": "headphones", + "font_class": "headphones", + "unicode": "e630", + "unicode_decimal": 58928 + }, + { + "icon_id": "24813796", + "name": "cart", + "font_class": "cart", + "unicode": "e631", + "unicode_decimal": 58929 + } + ] +} 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..86e7444 --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uni-icons.vue @@ -0,0 +1,96 @@ + + + + + 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..2f56eab --- /dev/null +++ b/uni_modules/uni-icons/components/uni-icons/uniicons.css @@ -0,0 +1,663 @@ +.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-gift-filled:before { + content: "\e6c4"; +} + +.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-back:before { + content: "\e6b9"; +} + +.uniui-forward:before { + content: "\e6ba"; +} + +.uniui-arrow-right:before { + content: "\e6bb"; +} + +.uniui-arrowthinright:before { + content: "\e6bb"; +} + +.uniui-arrow-left:before { + content: "\e6bc"; +} + +.uniui-arrowthinleft:before { + content: "\e6bc"; +} + +.uniui-arrow-up:before { + content: "\e6bd"; +} + +.uniui-arrowthinup:before { + content: "\e6bd"; +} + +.uniui-arrow-down:before { + content: "\e6be"; +} + +.uniui-arrowthindown:before { + content: "\e6be"; +} + +.uniui-bottom:before { + content: "\e6b8"; +} + +.uniui-arrowdown:before { + content: "\e6b8"; +} + +.uniui-right:before { + content: "\e6b5"; +} + +.uniui-arrowright:before { + content: "\e6b5"; +} + +.uniui-top:before { + content: "\e6b6"; +} + +.uniui-arrowup:before { + content: "\e6b6"; +} + +.uniui-left:before { + content: "\e6b7"; +} + +.uniui-arrowleft:before { + content: "\e6b7"; +} + +.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-cart-filled:before { + content: "\e629"; +} + +.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 0000000..835f33b Binary files /dev/null and b/uni_modules/uni-icons/components/uni-icons/uniicons.ttf differ diff --git a/uni_modules/uni-icons/package.json b/uni_modules/uni-icons/package.json new file mode 100644 index 0000000..d1c4e77 --- /dev/null +++ b/uni_modules/uni-icons/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-icons", + "displayName": "uni-icons 图标", + "version": "1.3.5", + "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", + "keywords": [ + "uni-ui", + "uniui", + "icon", + "图标" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "^3.2.14" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "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": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file 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-load-more/changelog.md b/uni_modules/uni-load-more/changelog.md new file mode 100644 index 0000000..8f03f1d --- /dev/null +++ b/uni_modules/uni-load-more/changelog.md @@ -0,0 +1,19 @@ +## 1.3.3(2022-01-20) +- 新增 showText属性 ,是否显示文本 +## 1.3.2(2022-01-19) +- 修复 nvue 平台下不显示文本的bug +## 1.3.1(2022-01-19) +- 修复 微信小程序平台样式选择器报警告的问题 +## 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-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) +## 1.2.1(2021-08-24) +- 新增 支持国际化 +## 1.2.0(2021-07-30) +- 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) +## 1.1.8(2021-05-12) +- 新增 组件示例地址 +## 1.1.7(2021-03-30) +- 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug +## 1.1.6(2021-02-05) +- 调整为uni_modules目录规范 diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json new file mode 100644 index 0000000..a4f14a5 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js new file mode 100644 index 0000000..de7509c --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js @@ -0,0 +1,8 @@ +import en from './en.json' +import zhHans from './zh-Hans.json' +import zhHant from './zh-Hant.json' +export default { + en, + 'zh-Hans': zhHans, + 'zh-Hant': zhHant +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json new file mode 100644 index 0000000..f15d510 --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json new file mode 100644 index 0000000..a255c6d --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json @@ -0,0 +1,5 @@ +{ + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" +} diff --git a/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue new file mode 100644 index 0000000..e5eff4d --- /dev/null +++ b/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue @@ -0,0 +1,399 @@ + + + + + diff --git a/uni_modules/uni-load-more/package.json b/uni_modules/uni-load-more/package.json new file mode 100644 index 0000000..2fa6f04 --- /dev/null +++ b/uni_modules/uni-load-more/package.json @@ -0,0 +1,86 @@ +{ + "id": "uni-load-more", + "displayName": "uni-load-more 加载更多", + "version": "1.3.3", + "description": "LoadMore 组件,常用在列表里面,做滚动加载使用。", + "keywords": [ + "uni-ui", + "uniui", + "加载更多", + "load-more" +], + "repository": "https://github.com/dcloudio/uni-ui", + "engines": { + "HBuilderX": "" + }, + "directories": { + "example": "../../temps/example_temps" + }, + "dcloudext": { + "category": [ + "前端组件", + "通用组件" + ], + "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": ["uni-scss"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "y", + "app-nvue": "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" + }, + "快应用": { + "华为": "u", + "联盟": "u" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} \ No newline at end of file diff --git a/uni_modules/uni-load-more/readme.md b/uni_modules/uni-load-more/readme.md new file mode 100644 index 0000000..54dc1fa --- /dev/null +++ b/uni_modules/uni-load-more/readme.md @@ -0,0 +1,14 @@ + + +### LoadMore 加载更多 +> **组件名:uni-load-more** +> 代码块: `uLoadMore` + + +用于列表中,做滚动加载使用,展示 loading 的各种状态。 + + +### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) +#### 如使用过程中有任何问题,或者您对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/vue.config.js b/vue.config.js new file mode 100644 index 0000000..d1e83cc --- /dev/null +++ b/vue.config.js @@ -0,0 +1,17 @@ +//vue.config.js +const TransformPages = require('uni-read-pages') +const {webpack} = new TransformPages() +module.exports = { + configureWebpack: { + plugins: [ + new webpack.DefinePlugin({ + ROUTES: webpack.DefinePlugin.runtimeValue(() => { + const tfPages = new TransformPages({ + includes: ['path', 'name', 'aliasPath', 'auth'] + }); + return JSON.stringify(tfPages.routes) + }, true ) + }) + ] + } +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 0000000..0ff79a5 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,72 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@babel/runtime@^7.17.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== + dependencies: + regenerator-runtime "^0.13.11" + +"@vue/devtools-api@^6.0.0-beta.11": + version "6.4.5" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.4.5.tgz#d54e844c1adbb1e677c81c665ecef1a2b4bb8380" + integrity sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ== + +copy-text-to-clipboard@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.0.1.tgz#8cbf8f90e0a47f12e4a24743736265d157bce69c" + integrity sha512-rvVsHrpFcL4F2P8ihsoLdFHmd404+CMg71S756oRSeQgqk51U3kicGdnvfkrxva0xXH92SjGS62B0XIJsbh+9Q== + +core-js@^3.11.0: + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.27.1.tgz#23cc909b315a6bb4e418bf40a52758af2103ba46" + integrity sha512-GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww== + +jweixin-module@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/jweixin-module/-/jweixin-module-1.6.0.tgz#4a7ea614083e3c9c3f49e2fdc2bb882cfa58dfcd" + integrity sha512-dGk9cf+ipipHmtzYmKZs5B2toX+p4hLyllGLF6xuC8t+B05oYxd8fYoaRz0T30U2n3RUv8a4iwvjhA+OcYz52w== + +mutation-observer@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0" + integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA== + +regenerator-runtime@^0.13.11: + version "0.13.11" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" + integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== + +uni-read-pages@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/uni-read-pages/-/uni-read-pages-1.0.5.tgz#452c8dcaa8977bbaef600909be926c8d9704387c" + integrity sha512-GkrrZ0LX0vn9R5k6RKEi0Ez3Q3e2vUpjXQ8Z6/K/d28KudI9ajqgt8WEjQFlG5EPm1K6uTArN8LlqmZTEixDUA== + +uni-simple-router@^2.0.8-beta.4: + version "2.0.8-beta.4" + resolved "https://registry.yarnpkg.com/uni-simple-router/-/uni-simple-router-2.0.8-beta.4.tgz#2f86ef17b361c251e14361ffd860a82669770cc5" + integrity sha512-ipTHhOaRvjV8qrt3HosX5pNMhwFYBnFOuKyV5joH0evfXubjrGI5tjdwpmwzfW5h3VBth3iAqScv+pW/QmIJXw== + +uview-ui@^2.0.31: + version "2.0.35" + resolved "https://registry.yarnpkg.com/uview-ui/-/uview-ui-2.0.35.tgz#b0e7916382e533402cfb2e86c10f2cacca22a9b4" + integrity sha512-OfMttN3XkHvQosXfd8bjz8ASTvypPoGzBWmQZBJ871bYMCA7t2bDFPlzjbxUj/5ykAjKnZ8zMUapSwSisVt99g== + +vconsole@^3.15.0: + version "3.15.0" + resolved "https://registry.yarnpkg.com/vconsole/-/vconsole-3.15.0.tgz#2383482b0a4106204090046ec128071284e04a90" + integrity sha512-8hq7wabPcRucSWQyN7/1tthMawP9JPvM95zgtMHpPknMMMCKj+abpoK7P7oKK4B0qw58C24Mdvo9+raUdpHyVQ== + dependencies: + "@babel/runtime" "^7.17.2" + copy-text-to-clipboard "^3.0.1" + core-js "^3.11.0" + mutation-observer "^1.0.3" + +vuex@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/vuex/-/vuex-4.1.0.tgz#aa1b3ea5c7385812b074c86faeeec2217872e36c" + integrity sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ== + dependencies: + "@vue/devtools-api" "^6.0.0-beta.11"