Commit 832d2ef2 authored by 廖洪发's avatar 廖洪发

uniapp路由生成demo

parents
.DS_Store
node_modules/
unpackage/
dist/
# local env files
.env.local
.env.*.local
# Log files
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Editor directories and files
.project
.idea
.vscode
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*
{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
// launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
"version": "0.0",
"configurations": [{
"default" :
{
"launchtype" : "local"
},
"h5" :
{
"launchtype" : "local"
},
"mp-weixin" :
{
"launchtype" : "local"
},
"type" : "uniCloud"
}
]
}
控制台运行--node routers/build.js命令,自动生成page.json文件。
# my-project
## Project setup
```
yarn install
```
### Compiles and hot-reloads for development
```
yarn serve
```
### Compiles and minifies for production
```
yarn build
```
### Customize configuration
See [Configuration Reference](https://cli.vuejs.org/config/).
### 路由
| 页面名称 | 对应路由文件 | 参数 | tab页 | 备注 | 静态 | 数据渲染 |
| -------- | ------------ | ---- | :---: | :---- | :---- | :---- |
| 首页 | pages/home/index| | √ | 完成 | 完成 | |
const plugins = []
if (process.env.UNI_OPT_TREESHAKINGNG) {
plugins.push(require('@dcloudio/vue-cli-plugin-uni-optimize/packages/babel-plugin-uni-api/index.js'))
}
if (
(
process.env.UNI_PLATFORM === 'app-plus' &&
process.env.UNI_USING_V8
) ||
(
process.env.UNI_PLATFORM === 'h5' &&
process.env.UNI_H5_BROWSER === 'builtin'
)
) {
const path = require('path')
const isWin = /^win/.test(process.platform)
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
const input = normalizePath(process.env.UNI_INPUT_DIR)
try {
plugins.push([
require('@dcloudio/vue-cli-plugin-hbuilderx/packages/babel-plugin-console'),
{
file (file) {
file = normalizePath(file)
if (file.indexOf(input) === 0) {
return path.relative(input, file)
}
return false
}
}
])
} catch (e) {}
}
process.UNI_LIBRARIES = process.UNI_LIBRARIES || ['@dcloudio/uni-ui']
process.UNI_LIBRARIES.forEach(libraryName => {
plugins.push([
'import',
{
'libraryName': libraryName,
'customName': (name) => {
return `${libraryName}/lib/${name}/${name}`
}
}
])
})
module.exports = {
presets: [
[
'@vue/app',
{
modules: 'commonjs',
useBuiltIns: process.env.UNI_PLATFORM === 'h5' ? 'usage' : 'entry'
}
]
],
plugins
}
This diff is collapsed.
{
"name": "my-project",
"version": "0.1.0",
"private": true,
"scripts": {
"pages": "node ./src/routers/build.js",
"serve": "npm run dev:h5",
"build": "npm run build:h5",
"build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
"build:custom": "cross-env NODE_ENV=production uniapp-cli custom",
"build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
"build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build",
"build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build",
"build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build",
"build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build",
"build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build",
"build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build",
"build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build",
"build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build",
"build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build",
"build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build",
"dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
"dev:custom": "cross-env NODE_ENV=development uniapp-cli custom",
"dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve",
"dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch",
"dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch",
"dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch",
"dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch",
"dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch",
"dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch",
"dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch",
"dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch",
"dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch",
"dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch",
"info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js",
"serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js",
"test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
"test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
"test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i",
"test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i",
"test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i"
},
"dependencies": {
"@dcloudio/uni-app-plus": "^2.0.0-28820200820001",
"@dcloudio/uni-h5": "^2.0.0-28820200820001",
"@dcloudio/uni-helper-json": "*",
"@dcloudio/uni-mp-360": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-alipay": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-baidu": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-qq": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-toutiao": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-vue": "^2.0.0-28820200820001",
"@dcloudio/uni-mp-weixin": "^2.0.0-28820200820001",
"@dcloudio/uni-quickapp-native": "^2.0.0-28820200820001",
"@dcloudio/uni-quickapp-webview": "^2.0.0-28820200820001",
"@dcloudio/uni-stat": "^2.0.0-28820200820001",
"@vue/shared": "^3.0.0-rc.4",
"core-js": "^3.6.5",
"flyio": "^0.6.2",
"regenerator-runtime": "^0.12.1",
"vue": "^2.6.11",
"vuex": "^3.2.0"
},
"devDependencies": {
"@dcloudio/types": "*",
"@dcloudio/uni-automator": "^2.0.0-28820200820001",
"@dcloudio/uni-cli-shared": "^2.0.0-28820200820001",
"@dcloudio/uni-migration": "^2.0.0-28820200820001",
"@dcloudio/uni-template-compiler": "^2.0.0-28820200820001",
"@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.0-28820200820001",
"@dcloudio/vue-cli-plugin-uni": "^2.0.0-28820200820001",
"@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.0-28820200820001",
"@dcloudio/webpack-uni-mp-loader": "^2.0.0-28820200820001",
"@dcloudio/webpack-uni-pages-loader": "^2.0.0-28820200820001",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"babel-plugin-import": "^1.11.0",
"cross-env": "^7.0.2",
"jest": "^25.4.0",
"mini-types": "*",
"miniprogram-api-typings": "*",
"postcss-comment": "^2.0.0",
"vue-template-compiler": "^2.6.11",
"less": "^3.9.0",
"less-loader": "^4.1.0",
"node-sass": "^4.11.0",
"sass-loader": "^7.1.0"
},
"browserslist": [
"Android >= 4",
"ios >= 8"
],
"uni-app": {
"scripts": {}
}
}
const path = require('path')
module.exports = {
parser: require('postcss-comment'),
plugins: [
require('postcss-import')({
resolve (id, basedir, importOptions) {
if (id.startsWith('~@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(3))
} else if (id.startsWith('@/')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(2))
} else if (id.startsWith('/') && !id.startsWith('//')) {
return path.resolve(process.env.UNI_INPUT_DIR, id.substr(1))
}
return id
}
}),
require('autoprefixer')({
remove: process.env.UNI_PLATFORM !== 'h5'
}),
require('@dcloudio/vue-cli-plugin-uni/packages/postcss')
]
}
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>
<%= htmlWebpackPlugin.options.title %>
</title>
<script>
document.addEventListener('DOMContentLoaded', function() {
document.documentElement.style.fontSize = document.documentElement.clientWidth / 20 + 'px'
})
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
</script>
<link rel="stylesheet" href="<%= BASE_URL %>static/index.<%= VUE_APP_INDEX_CSS_HASH %>.css" />
</head>
<body>
<noscript>
<strong>Please enable JavaScript to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
\ No newline at end of file
<script>
export default {
onLaunch: function() {
console.log('App Launch')
},
onShow: function() {
console.log('App Show')
},
onHide: function() {
console.log('App Hide')
}
}
</script>
<style lang="scss">
@import url("@/components/u-parse/u-parse.css");
/*@import '~@/assets/styles/mixins.scss'; !*Mixins指令*!*/
@import '~@/assets/styles/quill.core.min.css'; /*富文本编辑器默认样式*/
@import '~@/assets/styles/base.css'; /*基础样式*/
/*@import url("~mpvue-wxparse/src/wxParse.css");*/
/*@import '~@/assets/font/iconfont.css'; !*图标字体*!*/
// uni-radio .uni-radio-input.uni-radio-input-checked{
// border: none !important;
// background-color: none !important;
// }
// uni-radio .uni-radio-input.uni-radio-input-checked::before{
// background-color: none !important;
// }
radio .wx-radio-input{
border: none;
width: 32rpx;
height: 32rpx;
}
radio .wx-radio-input.wx-radio-input-checked {
background: none !important;
border: none;
}
radio .wx-radio-input.wx-radio-input-checked::before{
color: red; /* 对勾颜色 白色 */
}
::-webkit-scrollbar{
display: none;
}
</style>
import fly from '../jslibs/dk-flyio'
export const login = data => fly.request('/mini/account/register', data, { method: 'POST' })
/* eslint-disable import/prefer-default-export */
import fly from '@/jslibs/dk-flyio'
const qs = require('qs')
// 获取活动列表
export const getActivityList = params => fly.get('mini/activity/activities', params)
// 轮播图列表
export const getActivityBanners = params => fly.get('mini/activity/banners', params)
// 活动详情
export const getActivityDetails = params => fly.get(`/mini/activity/details/${params}`)
// 项目列表
export const getProjectList = params => fly.get('mini/activity/region-activity/projects', params)
export const getProjectTemp = params => fly.get('mini/activity/projects-temp', params)
// 收藏/取消
export const upCollect = params => fly.put('mini/activity/user/collect', qs.stringify(params))
// 评论列表
export const getCommonList = params => fly.get('mini/activity/leave-notes', params)
// 评论点赞
export const onUserLikes = params => fly.post('mini/activity/activity-apply-user-likes', params)
// 评论详情
export const getCommonDetails = params => fly.get(`mini/activity/leave-notes/${params}`)
// 发表评论
export const sendCommon = params => fly.post('mini/activity/activity-leave-notes', params)
// 相册列表
export const getPictureList = params => fly.get('mini/activity/leave-picture', params)
// 发布相册
export const sendPicture = params => fly.post('/mini/activity/activity-picture-list', params)
// 报名活动详情
export const getUserActivitiesDetail = params => fly.get(`mini/activity/apply-user-details/activity-uuid/${params}`)
// 确认报名
export const applyUser = params => fly.post('mini/activity/activity-apply-user', params)
// 修改报名
export const upApplyUser = params => fly.put('mini/activity/activity-apply-user', params)
// 取消报名
export const cancelApply = params => fly.put('mini/activity/user/cancel', qs.stringify(params))
// 收藏活动列表
export const getCollectList = params => fly.get('mini/account/user-collect-activities', params)
// 活动报名列表
export const getApplyList = params => fly.get('mini/account/user-apply-activities', params)
// 活动报名取消理由
export const getApplyReasonList = params => fly.get('/mini/activity/cancel-reasons', params)
// 用户签到
export const userSignIn = params => fly.put('mini/activity/user/sign-in', qs.stringify(params))
// 相册点赞
export const getlikepicture = params => fly.put(`mini/activity/user/like-picture?${params}`)
// 活动问卷详情
export const getFormDetails = params => fly.get(`mini/activity/form-details/${params}`)
// 提交问卷
export const sendFormDetails = params => fly.post('mini/activity/form-user-record', params)
// 优惠券
export const getCouponsList = params => fly.get('mini/activity/coupons', params)
// 用户推送优惠券
export const pushMessage = params => fly.get(`mini/account/user-push-message/${params}`)
// 删除相册
export const deletePhoto = params => fly.delete(`/mini/activity/activity-picture-temp/${params}`)
// 浮窗
export const getTips = params => fly.get('/mini/activity/banners/type', params)
// 获取轮播图信息(视频)
export const getBannerVideo = params => fly.get('/mini/merchant/user/merchant-banner/banner-type', params)
// 获取闸机icon
export const getGateType = params => fly.get(`/mini/activity/banners/gate-type/${params}`)
/* eslint-disable import/prefer-default-export */
import fly from '@/jslibs/dk-flyio'
// 获取会员等级列表
export const getUserGradeList = () => fly.get('/mini/user-score/member-grade')
// 用户积分明细
export const getUserScoresList = params => fly.get('mini/user-score/user-scores', params)
// 任务列表
export const getUserTaskTypes = () => fly.get('mini/user-score/task-types')
// 任务详情
export const getUserScoreDetail = params => fly.get('mini/user-score/detail', params)
// 会员等级
export const getUserMemberGrade = params => fly.get(`/mini/user-score/member-grade/detail/${params}`)
// 完成任务
export const finishUserTask = params => fly.get(`mini/user-score/finish-task/${params}`)
// 推荐同事背景图
export const getRecommendDetails = () => fly.get('/mini/account/recommend-detail')
// 会员规则详情
export const getUserGradeDetails = () => fly.get('/mini/user-score/member-grade-detail')
// 刷新二维码
export const refreshQrcode = () => fly.get('/mini/account/refresh-recommend-detail')
/* eslint-disable */
import fly from '@/jslibs/dk-flyio'
// 获取七牛token
export const getUpdateToken = () => fly.get('mini/common/qiniu')
// 用户注册
export const getminiRegister = params => fly.post('mini/account/register', params)
// 绑定手机号
export const getbindPhone = params => fly.post('mini/account/register/phone', params)
// 用户认证
export const getminiStaff = params => fly.post('mini/account/staff', params)
// 发送验证码
export const sendPhone = params => fly.get('/mini/common/phone/send', params)
// 校验验证码
export const checkPhoneCode = params => fly.post('mini/common/phone/verify-code', params)
// 员工认证详情
export const getStaffDetails = () => fly.get('mini/account/staff-details')
// 员工详情
export const getUserInfo = () => fly.get('mini/account/user-details')
// 公司列表
export const getCompanyList = params => fly.get('mini/account/companies', params)
// 公司详情
export const getCompanyDetails = params => fly.get(`/mini/account/company-details/${params}`)
// 获取用户formid
export const getUserFormId = params => fly.post(`mini/common/from-id?fromId=${params}`)
// 推荐同事
export const recommendUser = params => fly.get('/mini/account/recommend-user', params)
// 检验员工手机号码是否可激活
export const staffPhoneVerify = params => fly.get(`/mini/account/staff-phone-verify/${params}`)
// 激活
export const staffPhoneActivate = params => fly.get(`/mini/account/staff-phone-activate/${params}`)
// 验证公司邀请码
export const checkCompanyInvite = params => fly.get('/mini/account/company-details', params)
// 退出公司
export const signOutCompany = () => fly.get('/mini/account/quit-company')
/* eslint-disable import/prefer-default-export */
import fly from '@/jslibs/dk-flyio'
const qs = require('qs')
// 获取商家列表
export const getMerchantsList = params => fly.get('mini/merchant/merchants', params)
// 获取商家分类
export const getMerchantType = params => fly.get('mini/merchant/merchant-type', params)
// 获取优惠列表
export const getCouponsType = params => fly.get('mini/merchant/coupons-type', params)
// 商家详情
export const getMerchantDetail = params => fly.get(`mini/merchant/details/${params}`)
// 使用商家优惠
export const recordMerchant = params => fly.put('mini/merchant/user/merchant-record', qs.stringify(params))
// 商家记录列表
export const getUserRecordList = params => fly.get('mini/account/user-merchants-record', params)
// 获取首页轮播图
export const getMerchantIndexImg = params => fly.get('/mini/merchant/user/merchant-banner', params)
// 获取模块信息
export const getMerchantModel = params => fly.get(`/mini/merchant/user/merchant-model/${params}`)
// 获取榜单列表
export const getRankingList = params => fly.get('/mini/merchant/user/merchant-ranking', params)
// 获取商家信息
export const getUserMerchants = params => fly.get('/mini/merchant/user/merchants', params)
// 获取详情轮播图
export const getMerchantDetailImg = params => fly.get('/mini/merchant/user/model-banners', params)
// 获取区域项目列表
export const getProjectsList = params => fly.get('/mini/activity/region/projects', params)
/* eslint-disable import/prefer-default-export */
import fly from '@/jslibs/dk-flyio'
export const getList = data => fly.request('app/Carousel', data, { method: 'GET' })
/* eslint-disable import/prefer-default-export */
import fly from '@/jslibs/dk-flyio'
// 用户签到
export const signIn = () => fly.get('/mini/user-sign-in/sign-in')
// 签到规则
export const signRule = params => fly.get(`/mini/user-sign-in/sign-in-rule/${params}`)
// 签到信息
export const signUserInfo = () => fly.get('/mini/user-sign-in/sign-in-info')
// 签到明细
export const signBonusDetails = params => fly.get('/mini/user-sign-in/sign-in-records', params)
// 签到说明
export const signRemark = params => fly.get(`/mini/user-score/sundries/detail/${params}`)
import fly from '@/jslibs/dk-flyio'
// 我的数据
export const getuserData = data => fly.request(
'mini/account/user-details',
data,
{
method: 'GET',
},
)
// 关于我们
export const getaboutDetails = data => fly.request(
'mini/account/about-details',
data,
{
method: 'GET',
},
)
// 关于我们
export const getuserInfo = data => fly.request(
'mini/account/user-info',
data,
{
method: 'PUT',
},
)
// 获取员工认证详情并激活员工
export const getstaffdetail = phone => fly.request(
`/mini/account/staff-detail/${phone}`,
{
method: 'GET',
},
)
// 获取员工认证详情并激活员工
export const getstaffdetail2 = data => fly.request(
'/mini/account/staff-details',
data,
{
method: 'GET',
},
)
export const getPhoneCode = params => fly.get('/mini/common/phone/normal-send', params)
// 获取评论数
export const getUsersUnread = () => fly.get('/mini/account/users-unread')
// 评论回复通知列表
export const getUsersComment = params => fly.get('/mini/account/users-comment', params)
// 评论设为已读
export const upNoticeRead = params => fly.get(`/mini/activity/leave-notes/notice/${params}`)
// 成员列表
export const getAccountStaffs = params => fly.get('/mini/account/staffs', params)
// 删除成员
export const delAccountQuiteCompany = params => fly.post('/mini/account/quit-company', params)
// 更改行政类型
export const upAccountStaffLabel = params => fly.put('/mini/account/staff-label', params)
// 导入
export const postStaffLabel = params => fly.post('/mini/account/label/staff', params)
// 邮箱
export const getmailHtml = params => fly.get('/mini/account/send/mail/html', params)
// 记录员工健康
export const addStaffHealth = params => fly.post('/mini/account/staff/health', params)
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
*{
margin: 0;
padding: 0;
font-family: PingFangSC-Regular, PingFang SC;
}
.clearfix:after{
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.clearfix {
/* 触发 hasLayout */
zoom: 1;
}
.f-l{
float: left;
}
.f-r{
float: right;
}
.txt-r{
text-align: right;
}
\ No newline at end of file
This diff is collapsed.
// 用于配置常用的 CSS 变量
//主要颜色
$primary-color:#F7AC30;
//二级颜色
$secondary-color:#32CBBC;
//三级颜色
$tertiary-color:'#FFFFFF';
//主要文字颜色
$primary-text-color:#141414;
//二级文字颜色
$secondary-text-color:#666666;
//三级文字颜色
$tertiary-text-color:#454649;
//主要按钮颜色
$primary-button-color:$primary-color;
//二级按钮颜色
$secondary-button-color:$secondary-color;
//三级按钮颜色
$tertiary-button-color: $tertiary-color;
//不可点击时按钮颜色
$button-disabled-color:#999999;
//容器背景颜色
$background-color:#f5f5f5;
//placeholder颜色
$placeholder-color:#e5e5e5;
//border颜色
$border-color:#e5e5e5;
// UI 字体
,
$font-family: 'PingFangSC-Regular', 'PingFang SC';
\ No newline at end of file
<template>
<div >
<div v-if="!countdown" class="btn-primary btn" @click="getCaptcha">获取验证码</div>
<div v-else class="btn-disable btn">{{ countdown }}</div>
</div>
</template>
<script>
import { getCaptcha, getPartnerCaptcha } from '@/api/login'
export default {
name: 'btn-code',
data() {
return {
countdown: 0,
};
},
props: {
phone: {
type: String,
default: '',
},
type: {
type: String,
default: '',
},
},
watch: {
countdown(val) {
if (val > 0) {
setTimeout(() => {
this.countdown--
}, 1000)
}
},
},
methods: {
getCaptcha() {
if (!this.throttleAction) return
if (!this.phone) {
wx.showToast({title: '请输入手机号', icon: 'none', duration: 3000})
return
}
this.countdown = 60
if (this.type==='applyPartner') {
this.network().getPartnerCaptcha()
} else {
this.network().getCaptcha()
}
},
network() {
return {
getCaptcha: async () => {
const { data } = await getCaptcha({ phone:this.phone })
console.log('获取验证码', data)
},
getPartnerCaptcha: async () => {
const { data } = await getPartnerCaptcha({ phone:this.phone })
console.log('获取验证码(申请合伙人)', data)
},
};
},
handler() {
return {
example: () => {
console.log('handle');
},
};
},
},
};
</script>
<style lang="scss" scoped>
.container {
}
.btn {
width: 200rpx;
height: 80rpx;
font-size: 28rpx;
color: #0077ff;
border-radius: 0 40rpx 40rpx 0;
background: #fff;
}
.btn::after {
position: absolute;
top: 22rpx;
left: 0;
width:30rpx;
height:1rpx;
// background:#000;
content:'|';
// top:25px;
}
</style>
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
/**
* 获取某年某月有多少天
*/
export const getOneMonthDays = (year,month)=>{
month = Number(month);
const baseMonthsDays = [0,31,28,31,30,31,30,31,31,30,31,30,31];
if(year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)){
if(month === 2){
baseMonthsDays[month] = 29;
}
}
return baseMonthsDays[month];
}
/**
* 获取日期的年月日时分秒
*/
export const getTimeArray = (date)=>{
const year = date.getFullYear();
const month = date.getMonth()+1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
const second = date.getSeconds();
return [year,month,day,hour,minute,second];
}
/**
* 小于10的数字前面补0
*/
export const addZero = (num)=>{
return num < 10 ? '0' + num : num;
}
/**
* 获取当前值在数组中的索引
*/
export const getIndexOfArray = (value,array)=>{
let index = array.findIndex(item => item == value);
return index > -1 ? index : 0;
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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