Commit 566428e3 by yanju

路由配置

parent c729c7cc
......@@ -8,6 +8,7 @@ export default {
return `rgba(0,170,230,${opacity})`
},
routes:{
downLoad:'',
login:'/users/login',
register:'users/register',
reset:'users/reset',
......
export function getOffset (el) {
function getOffset (el) {
const box = el.getBoundingClientRect();
const body = document.body;
const clientTop = el.clientTop || body.clientTop || 0;
......@@ -10,3 +10,49 @@ export function getOffset (el) {
left: box.left + scrollLeft - clientLeft
};
}
let fontSelfAdaption=()=>{
let e = document,
that = this,
t = e.documentElement,
defaultWidth = 750;
let eventName = "orientationchange" in window ? "orientationchange" : "resize",
functionName = function () {
let n = t.clientWidth;
n < 320 && (n = 320);
n > 750 && (n = 750);
t.style.fontSize = n / defaultWidth + "px";
window.$nuxt.$store.commit('page/changeRemRate',n/defaultWidth);
};
functionName();
window.addEventListener(eventName, functionName, !1);
}
let preventTouchDefault=()=>{
//取得当前滑动开始值
var startX,startY;
document.addEventListener("touchstart",function(e){
startX = e.targetTouches[0].pageX;
startY = e.targetTouches[0].pageY;
});
document.addEventListener("touchmove",function(e){
var moveX = e.targetTouches[0].pageX;
var moveY = e.targetTouches[0].pageY;
if(Math.abs(moveX-startX)>Math.abs(moveY-startY)){
e.preventDefault();
}
},{passive:false});
}
export {
getOffset,fontSelfAdaption,preventTouchDefault
}
<template>
<yun-popup
:value="value"
:value="popupValue"
:hasMask="hasMask"
position="center"
class="dialog-content"
......@@ -12,7 +12,6 @@
:border-r="[12]"
bg-color-v="#fff"
>
<slot name="header"></slot>
<yun-div
:font-style="[undefined,undefined,undefined,'#666f83','left']"
:show-ske="false"
......@@ -29,14 +28,17 @@
}"
v-tap="close"
>
<yun-icon name="close1" size="32" />
<yun-icon name="close1" :size="32" />
</yun-div>
<yun-div
v-if="title"
:font-style="[40,48,400,'#111a34','center']"
:margin-v="[0,0,28]"
:show-ske="false"
>{{title}}</yun-div>
<slot name="header"></slot>
<yun-div
:flex-v="['row','center','center']"
v-html="content"
......@@ -79,6 +81,12 @@
export default {
name: 'yun-dialog',
data(){
return{
popupValue:false
}
},
props: {
value: {
......@@ -99,7 +107,7 @@
},
closable: {
type: Boolean,
default: true,
default: false,
},
content: {
type: String,
......@@ -141,6 +149,16 @@
},
},
created() {
this.popupValue = this.value;
},
watch:{
value(val){
this.popupValue = val
}
},
mounted() {
if (this.appendTo) {
this.appendTo.appendChild(this.$el)
......@@ -172,6 +190,7 @@
}
if (typeof btn.handler === 'function') {
btn.handler.call(null, btn)
this.close()
} else {
this.close()
}
......@@ -179,6 +198,7 @@
// MARK: public methods
close() {
this.$emit('input', false)
this.popupValue =false;
},
},
}
......
......@@ -44,8 +44,10 @@
<yun-div
:extend-style="{
flex:'1 1 0%'
flex:'1 1 0%',
boxSizing: 'border-box',
}"
:padding-v="[0,20]"
>
<input
:style="{width:'100%',height:'100%',backgroundColor:bgColorV }"
......
......@@ -92,6 +92,11 @@ export default {
}
},
},
created() {
if(this.value){
this.$_showPopupBox()
}
},
computed:{
slotStyle(){
......
......@@ -29,6 +29,14 @@ function TouchEvent(el,binding,type) {
_this.move,{passive:false});
};
_this.end =function (e) {
let appendDiv = document.createElement('div');
let appendDivTimer = null;
appendDiv.style.cssText='position:fixed;top:0;left:0;z-index:10000;height:100%;width:100%;background:transparent';
document.body.appendChild(appendDiv);
appendDivTimer = setTimeout(()=>{
document.body.removeChild(appendDiv);
clearTimeout(appendDivTimer)
},350)
var disX=e.changedTouches[0]?e.changedTouches[0].pageX-_this.vueTouches.x:0;
var disY=e.changedTouches[0]?e.changedTouches[0].pageY-_this.vueTouches.y:0;
clearTimeout(_this.time);
......
......@@ -7,7 +7,8 @@ export default {
headerZIndex:pageConfig.headerZIndex,
messageZIndex:pageConfig.messageZIndex,
fullScreenZIndex:pageConfig.fullScreenZIndex,
normalZIndex:pageConfig.normalZIndex
normalZIndex:pageConfig.normalZIndex,
routesObject:pageConfig.routes
}
},
......
......@@ -91,6 +91,7 @@
:margin-v="[0,(index+1)%5===0?0:64,44,0]"
v-for="(val,index) in menuArr"
:key="val.name"
v-tap="()=>navTapToChangeRoute1(val.route)"
>
<yun-div
:width-v="72"
......@@ -211,6 +212,7 @@
<script>
import Logo from '../../assets/svg/logo.svg'
import commonMixin from "./commonMixin";
import pageConfig from '../../action/page-config'
import pageFooter from "./pageFooter";
export default {
mixins:[commonMixin],
......@@ -221,14 +223,14 @@
return{
showMenu:false,
menuArr:[
{name:'首页',icon:'logo_home',route:''},
{name:'项目',icon:'logo_project',route:''},
{name:'博客',icon:'logo_blog',route:''},
{name:'动态',icon:'logo_dynamic',route:''},
{name:'话题',icon:'logo_topic',route:''},
{name:'问答',icon:'logo_answer',route:''},
{name:'资讯',icon:'logo_news',route:''},
{name:'下载',icon:'logo_download',route:''},
{name:'首页',icon:'logo_home',route:pageConfig.routes.home},
{name:'项目',icon:'logo_project',route:pageConfig.routes.project.index},
{name:'博客',icon:'logo_blog',route:pageConfig.routes.blog.index},
{name:'动态',icon:'logo_dynamic',route:pageConfig.routes.dynamic.index},
{name:'话题',icon:'logo_topic',route:pageConfig.routes.topic.index},
{name:'问答',icon:'logo_answer',route:pageConfig.routes.answer.index},
{name:'资讯',icon:'logo_news',route:pageConfig.routes.news.index},
{name:'下载',icon:'logo_download',route:pageConfig.routes.downLoad},
],
searchValue:'',
route:'home',
......@@ -247,6 +249,13 @@
}
},
methods:{
navTapToChangeRoute1(r){
this.showMenu = false;
this.changeRoute1(r)
}
},
created(){
this.route = this.$route.name;
this.BCLogo = Logo;
......
......@@ -5,32 +5,18 @@
</template>
<script>
import {fontSelfAdaption,preventTouchDefault} from '../action/utils/dom';
export default {
name: "blank",
mounted() {
if(process.browser){
this.fontSelfAdaption()
fontSelfAdaption();
preventTouchDefault();
}
},
methods:{
fontSelfAdaption(){
let e = document,
that = this,
t = e.documentElement,
defaultWidth = 750;
let eventName = "orientationchange" in window ? "orientationchange" : "resize",
functionName = function () {
let n = t.clientWidth;
n < 320 && (n = 320);
n > 750 && (n = 750);
t.style.fontSize = n / defaultWidth + "px";
that.$store.commit('page/changeRemRate',n/defaultWidth);
};
functionName();
window.addEventListener(eventName, functionName, !1);
}
},
}
</script>
......
......@@ -11,7 +11,8 @@
<script>
import PageHeader from '../components/moblie/pageHeader';
import PageFooter from '../components/moblie/pageFooter'
import PageFooter from '../components/moblie/pageFooter';
import {fontSelfAdaption,preventTouchDefault} from '../action/utils/dom';
export default {
components:{
PageHeader,PageFooter
......@@ -20,50 +21,9 @@
mounted() {
if(process.browser){
this.fontSelfAdaption();
fontSelfAdaption();
this.preventTouchDefault();
}
},
methods:{
fontSelfAdaption(){
let e = document,
that = this,
t = e.documentElement,
defaultWidth = 750;
let eventName = "orientationchange" in window ? "orientationchange" : "resize",
functionName = function () {
let n = t.clientWidth;
n < 320 && (n = 320);
n > 750 && (n = 750);
t.style.fontSize = n / defaultWidth + "px";
that.$store.commit('page/changeRemRate',n/defaultWidth);
};
functionName();
window.addEventListener(eventName, functionName, !1);
},
preventTouchDefault(){
//取得当前滑动开始值
var startX,startY;
document.addEventListener("touchstart",function(e){
startX = e.targetTouches[0].pageX;
startY = e.targetTouches[0].pageY;
});
document.addEventListener("touchmove",function(e){
var moveX = e.targetTouches[0].pageX;
var moveY = e.targetTouches[0].pageY;
if(Math.abs(moveX-startX)>Math.abs(moveY-startY)){
e.preventDefault();
}
},{passive:false});
preventTouchDefault();
}
},
}
......
......@@ -280,7 +280,7 @@
:extend-style="{
display:'grid',
position:'absolute',
gridTemplateRows:`${100*heightRate}px`,
gridTemplateRows:`${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px`,
gridTemplateColumns:`${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px ${100*heightRate}px`,
}"
>
......
<template>
<yun-div
slot="card"
>
<nav-bar :path="path" :nav-list="navList"></nav-bar>
<nuxt-child></nuxt-child>
<yun-dialog
title="添加备注"
:value="true"
:btns="slotDialog.btns"
>
<yun-div
:width-v="464"
:margin-v="[0,'auto']"
slot="header">
<yun-input
:width-v="464"
:height-v="72"
:border-v="[6]"
placeholder="请输入备注的内容"
:show-icon="false"
>
</yun-input>
</yun-div>
</yun-dialog>
</yun-div>
</template>
<script>
import NavBar from "../../components/moblie/nav";
import pageConfig from '../../action/page-config'
import FansCard from "../../components/moblie/fansCard";
export default {
components: {FansCard, NavBar},
data(){
return{
path: pageConfig.routes.personalCenter.person.fans,
navList: [
{
label: '粉丝',
id: '/fans'
},
{
label: '关注',
id: '/following'
}
],
slotDialog: {
open: true,
btns: [
{
text: '取消',
},
{
text: '确认',
handler: this.dataPostRemarks,
},
],
},
}
},
methods:{
dataPostRemarks(){
}
}
}
</script>
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