Commit 17eb8a37 by tangjiale

更新公共文档,封装公共字体库,uview-ui组件库

parent dac05530
......@@ -2,24 +2,24 @@
# 代码/业务基本规范
- 组件封装优化:
·开发时不要出现大段js代码重复,业务上的代码封装到service,工具性质的代码封装到utils里面
·模板里面for循环内的代码一般来说封装成组件更方便维护
·生命周期相关的通用代码,可以封装成mixin按需或者全局引用
· 开发时不要出现大段js代码重复,业务上的代码封装到service,工具性质的代码封装到utils里面
· 模板里面for循环内的代码一般来说封装成组件更方便维护
· 生命周期相关的通用代码,可以封装成mixin按需或者全局引用
- css优化:
·class名需要有一定的业务含义,不能随便写
·善用less语法的能力,比如通用颜色定义颜色常量、善用css的集成方法(.extend)
· class名需要有一定的业务含义,不能随便写
· 善用less语法的能力,比如通用颜色定义颜色常量、善用css的集成方法(.extend)
- 用户交互优化:
·加载页面数据时,页面至少不要空白,如果不好展示的话,加个loading的状态或者弹窗都可以
·点击按钮都需要有反馈,如操作成功、操作失败等,至少要让用户明确知道他点了按钮有什么结果。除非结果会使页面变化较大,可以不做toast或弹窗提示
·进行某些操作时,可能会引起上一个页面的数据发生变化,常见的比如在订单详情进行取消或者支付等,需要通过事件通知更新订单列表
· 加载页面数据时,页面至少不要空白,如果不好展示的话,加个loading的状态或者弹窗都可以
· 点击按钮都需要有反馈,如操作成功、操作失败等,至少要让用户明确知道他点了按钮有什么结果。除非结果会使页面变化较大,可以不做toast或弹窗提示
· 进行某些操作时,可能会引起上一个页面的数据发生变化,常见的比如在订单详情进行取消或者支付等,需要通过事件通知更新订单列表
- 业务逻辑梳理:
·页面之间的跳转,根据业务场景是否已经完成闭环,哪些功能可以复用需要在项目开始开发前就考虑好,以免做重复工作
# 开发文档
- [uni-app官方文档](https://uniapp.dcloud.net.cn/)
- [uview-ui官方文档](https://v1.uviewui.com/guide/demo.html)
- [api接口文档]()
- [ui交互地址]()
- [uni-app官方文档](https://uniapp.dcloud.net.cn/)
- [uview-ui官方文档](https://v1.uviewui.com/guide/demo.html)
- [api接口文档]()
- [ui交互地址]()
<template>
<i class="xbfont iconfont" :class="type" :style="{ color: color, fontSize: size + 'rpx' }"></i>
</template>
<script>
export default{
props:{
type: {
type: String,
default: ''
},
color: {
type: String,
default: '',
},
styleObj:{
type: String,
default: '',
},
size: {
type: [String, Number],
default:32
},
}
}
</script>
<style scoped>
@import "/static/css/iconfont.css";
.xbfont{
display: inline-block;
vertical-align: middle;
}
</style>
......@@ -14,7 +14,6 @@ const app = new Vue({
...App
})
// 引入全局uView
import uView from 'uview-ui'
Vue.use(uView)
uni.$u.config.unit = 'rpx'
......@@ -26,7 +25,7 @@ Vue.use(framework, {
store: {},
hooks: {
beforeHttp: options => { // 发请求前的钩子
let token = uni.getStorageSync("YIGOU_TOKEN")
let token = uni.getStorageSync("XT_TOKEN")
if (!options.isLogin && !token) {
services.user.reAuth()
return Promise.reject('token为空,请先登陆');
......
......@@ -40,6 +40,7 @@
"easycom": {
"autoscan": true,
"custom": {
"^xb-(.*)": "@/components/xb-$1.vue",
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
}
},
......
<template>
<div>
<div class="page-bg">
首页调试
<xb-icon type="icon-icon_txzy" color="#1DA47B"></xb-icon>
</div>
</template>
......@@ -8,5 +9,9 @@
</script>
<style lang="less" scoped>
.page-bg{
min-height: 100vh;
width: 100%;
background-color: #f5f5f5;
}
</style>
......@@ -4,7 +4,7 @@ import {
utils
} from '../framework'
let checkLoginPromise
const YIGOU_COOKIE = 'yigou-cookie'
const XB_COOKIE = 'xb-cookie'
export default {
......@@ -16,8 +16,8 @@ export default {
},
reAuth() { // 登录态失效,需要重新登录
uni.removeStorageSync("YIGOU_TOKEN")
uni.removeStorageSync("YIGOU_USERINFO")
uni.removeStorageSync("XB_TOKEN")
uni.removeStorageSync("XB_USERINFO")
uni.reLaunch({
url: '/pages/my/login'
});
......@@ -76,83 +76,9 @@ export default {
let userInfo = {
name:res.userInfo.userName,tel:res.userInfo.phone
}
uni.setStorageSync("YIGOU_TOKEN", res.token)
uni.setStorageSync("YIGOU_USERINFO", userInfo)
uni.setStorageSync("XB_TOKEN", res.token)
uni.setStorageSync("XB_USERINFO", userInfo)
return res.userInfo
})
},
// checkLogin(options) { // 登录
// if (!checkLoginPromise) {
// let onError = (err) => {
// return utils.common.$showModal({
// title: '提示',
// content: '登录失败了,请重试 ' + err.toString(),
// showCancel: false,
// }).then(res => {
// checkLoginPromise = null
// return this.checkLogin(options)
// }).catch(err => {
// checkLoginPromise = null
// return Promise.reject(err)
// })
// }
// let _authLogin = obj => {
// return service.post({
// isLogin: true,
// isToastError: false,
// headers: {
// 'Cookie': obj.cookie
// },
// url: '/login'
// }).then(() => {
// return {
// ...obj,
// isMember: true
// }
// }).catch(err => {
// if (err === '会员不存在' || err === '找不到会员') {
// return {
// ...obj,
// isMember: false
// }
// } else {
// return onError(err)
// }
// })
// }
// // let cache = uni.getStorageSync(YIGOU_COOKIE)
// // if (cache) {
// // checkLoginPromise = _authLogin(cache)
// // return checkLoginPromise
// // }
// checkLoginPromise = this.getSign().then(sign => {
// return uni.login().then(login => {
// return service.postJson({
// isLogin: true,
// url: '/auth',
// isToastError: false,
// loadingText: '登录中...',
// returnAll: true,
// data: {
// deviceNo: '',
// code: login[1].code,
// sign: sign.sign
// }
// }).then(res => {
// let cookieHead = res.header['Set-Cookie']
// let cookie = cookieHead.substring(0, cookieHead.indexOf(';'))
// uni.setStorageSync(YIGOU_COOKIE, cookie)
// return _authLogin({
// ...sign,
// cookie
// })
// }).catch(onError)
// })
// }).catch(onError)
// }
// return checkLoginPromise
// }
}
}
@font-face {
font-family: "iconfont"; /* Project id 3137133 */
src:
url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
url('//at.alicdn.com/t/font_3137133_o2r1nscyk2.woff?t=1653966963676') format('woff'),
url('//at.alicdn.com/t/font_3137133_o2r1nscyk2.ttf?t=1653966963676') format('truetype'),
url('//at.alicdn.com/t/font_3137133_o2r1nscyk2.svg?t=1653966963676#iconfont') format('svg');
}
.iconfont {
font-family: "iconfont" !important;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-gl_icon_zybg:before {
content: "\e620";
}
.icon-jyjgl_icon_rcydtj:before {
content: "\e61f";
}
.icon-xxgl_icon_tyzytj:before {
content: "\e621";
}
.icon-jyjgl_icon_tyzutj:before {
content: "\e622";
}
.icon-jyjgl_icon_xxsjjc:before {
content: "\e623";
}
.icon-xxgl_icon_rcydtj:before {
content: "\e624";
}
.icon-gl_icon_zygl:before {
content: "\e61b";
}
.icon-gl_icon_ydjc:before {
content: "\e61c";
}
.icon-gl_icon_gdgn:before {
content: "\e61d";
}
.icon-gl_icon_jczy:before {
content: "\e61e";
}
.icon-home_icon_rw:before {
content: "\e61a";
}
.icon-icon_txzy:before {
content: "\e619";
}
.icon-rk-work-record:before {
content: "\e615";
}
.icon-rk-activity-statistics:before {
content: "\e616";
}
.icon-rk-assign-homework:before {
content: "\e617";
}
.icon-rk-check-homework:before {
content: "\e618";
}
.icon-zy-squatfu:before {
content: "\e60d";
}
.icon-zy-hip-kicked:before {
content: "\e60e";
}
.icon-zy-push-ups:before {
content: "\e60f";
}
.icon-zy-high-knee-lift:before {
content: "\e610";
}
.icon-zy-rope-skipping:before {
content: "\e611";
}
.icon-zy-sit-ups:before {
content: "\e612";
}
.icon-zy-jumping-jack:before {
content: "\e613";
}
.icon-zy-running-on-spot:before {
content: "\e614";
}
.icon-icon_next-step:before {
content: "\e60a";
}
.icon-icon_pull-down:before {
content: "\e60b";
}
.icon-icon_pack-up:before {
content: "\e60c";
}
.icon-icon_multi-select:before {
content: "\e609";
}
.icon-icon_not-choose:before {
content: "\e607";
}
.icon-icon_radio-group:before {
content: "\e608";
}
.icon-icon_tishi:before {
content: "\e606";
}
.icon-icon_search:before {
content: "\e605";
}
.icon-icon_dingdanchaxun:before {
content: "\e604";
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment