Commit 7843a4db by 李静静

法考大纲

parent 72221726
.idea
node_modules
miniprogram_npm
{
"pages": [
"pages/index/index",
"pages/freeCourse/index",
"pages/joinGroup/index",
"pages/weibanzhushou/index",
"pages/yinliu/externalLink",
"pages/youzan/index",
"pages/joinGroupH5/index"
"pages/joinGroupH5/index",
"pages/card/index"
],
"plugins": {
"chatGroupPlugin": {
......@@ -24,6 +26,5 @@
"navigationBarTitleText": "万国深蓝法考",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json",
"style": "v2"
"sitemapLocation": "sitemap.json"
}
{
"dependencies": {
"@vant/weapp": "^1.10.3"
}
}
// pages/card/index.js
import {request} from "../../utils/request";
const app = getApp()
import {host} from "../../utils/request.js"
import {throttle} from "../../utils/utils"
Page({
/**
* 页面的初始数据
*/
data: {
url:'',
menusShow:false,
mainActiveIndex: 0,
activeSceneId: null,
showTopBtn:false,
windowHeight:wx.getSystemInfoSync().windowHeight,
menusArr:[],
showShare:false,
shareOptions: [
// { name: '微信好友', icon: 'wechat', openType: 'share' },
{ name: '保存到本地', icon: 'poster',id:'saveImg' },
],
isBottom:false,
// scrollHeight:wx.getSystemInfoSync().screenHeight,
tooltipsImg:wx.getStorageSync("tooltipsImg")===false?false:true,
tooltipsMenus:wx.getStorageSync("tooltipsMenus")===false?false:true,
cardData:[], //页面内容的大数组,可能有95个吧
curCardData:{}
},
onClickNav({ detail = {} }) {
this.setData({
mainActiveIndex: detail.index || 0,
});
},
gotoTop () {
console.log(3)
wx.pageScrollTo({
scrollTop:0
})
},
// 当一个子项被选择时
onSelectItem: function (event) {
console.log(event);
var item = event.currentTarget.dataset.item;
// this.$emit('click-item', item);
if(item.disabled){
wx.showToast({
icon:'none',
title:'该卡片暂未开放!'
})
return
}
this.onClickItem(item)
},
onClickItem(item) {
const activeSceneId = this.data.activeSceneId === Number(item.id) ? null : Number(item.id);
//保存一个激活的对象,给
this.setData({
menusShow:false
})
// this.setData({ activeSceneId });
if(activeSceneId){
// this.getData(activeSceneId)
this.setData({
activeSceneId,
curCardData:this.data.cardData.filter(i=>Number(i.id)===Number(activeSceneId))[0]||{}
})
wx.reportAnalytics('chang_card', {
scene: activeSceneId
});
this.gotoTop();
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
wx.hideShareMenu();
console.log(options)
// this.setData({
// url: host+'/xcx/wz/unit_card?id='+(options.scene||1)
// //url: host+'/h5/app3/product/common?id='+(options.scene|7)
// })
// this.getData(options.scene);
this.getMenusData(options.scene)
this.setData({
from:options.from||""
})
if(!options.from){
wx.setStorageSync('no_locked',1)
}
},
// getEndEle:wx.createSelectorQuery(),
endLineDOM(){
wx.createSelectorQuery().select("#end-line").boundingClientRect( (res) => {
console.log(res)
if((res.top-this.data.windowHeight)>0){
this.setData({
isBottom:false
})
}
}).exec()
},
getMenusData(scene){
let mainActiveIndex;
request({
url:"/xcx/wz/card_tree",
success:(res)=>{
console.log(res.data)
if(res.data&&res.data.code===0){
// console.log(res.data.data.list)
let subjects=res.data.data.subjects;
let subjectObj={}
let subjectArr=subjects.forEach((i,idx)=>{
subjectObj[i]={
text:i,
key:idx
}
})
const no_locked = wx.getStorageSync('no_locked')
res.data.data.cards.forEach(card=>{
card.text=card.name;
let subjectItem=subjectObj[card.subject]
if(subjectItem){
if(subjectItem.child){
subjectItem.child.push(card)
}else{
subjectItem.child=[card]
}
}
// card.pics=card.pics.map(i=>{
// return i.map(j=>{
// console.log(j)
// j.url=j.url.indexOf('http')>-1?j.url:"https:"+j.url
// return j
// })
// })
if(card.id===Number(scene)){
this.setData({
mainActiveIndex:subjectItem.key
})
}
card.disabled=no_locked?false:(!!card.is_locked)
// card.disabled=true;
})
this.setData({
menusArr:Object.values(subjectObj).sort((a,b)=>a.key-b.key),
cardData:res.data.data.cards,
activeSceneId:Number(scene),
curCardData:res.data.data.cards.filter(i=>Number(i.id)===Number(scene))[0]||{}
})
console.log(res.data.data.cards.filter(i=>Number(i.id)===Number(scene))[0]||{})
}
}
})
},
onShowMenus(){
console.log(6)
this.setData({
menusShow:true,
tooltipsMenus:false //点击后关闭 tooltips - menus
})
this.setStoreTooltipsMenus();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
// this.changeScrollHeight()
},
changeScrollHeight(){
clearTimeout(this.timer)
this.timer=setTimeout(()=>{
this.getScrollHeight()
},4000)
},
closeTooltips(){
if(this.data.tooltipsImg||this.data.tooltipsMenus){
this.setData({
tooltipsImg:false,
tooltipsMenus:false
})
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
this.setStoreTooltipsImg();
this.setStoreTooltipsMenus()
},
setStoreTooltipsMenus(){
this.setStorage('tooltipsMenus',false)
},
setStoreTooltipsImg(){
this.setStorage('tooltipsImg',false)
},
setStorage(key,value){
wx.setStorageSync(key,value)
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
this.setData({
isBottom:true
})
},
getScrollHeight(){
const query = wx.createSelectorQuery()
query.select('.container').boundingClientRect()
// console.log(query.selectViewport())
//query.selectViewport().scrollOffset()
query.exec((res)=>{
//console.log(res)
this.setData({
scrollHeight:res&&res[0]&&res[0].height-this.data.windowHeight
})
})
},
onPageScroll:throttle(function(e){
let bool=false;
let isBottomBool=false;
let isTooltipsImg=false;
let isTooltipsMenus=false;
console.log(e.scrollTop,this.data.windowHeight)
if(e.scrollTop>=this.data.windowHeight){
bool=true
}
console.log(bool,this.data.showTopBtn)
if(bool!==this.data.showTopBtn){
this.setData({
showTopBtn:bool
})
}
console.log(this.data.isBottom)
if(isBottomBool!==this.data.isBottom){
this.endLineDOM()
// if((this.endLineDom.top-this.data.windowHeight)>0){
// this.setData({
// isBottom:isBottomBool
// })
// }
}
if(isTooltipsImg!==this.data.tooltipsImg){
this.setData({
tooltipsImg:isTooltipsImg
})
this.setStoreTooltipsImg();
}
if(isTooltipsMenus!==this.data.tooltipsMenus){
this.setData({
tooltipsMenus:isTooltipsMenus
})
this.setStoreTooltipsMenus()
}
},100),
shareObj(){
return {
title: '自定义转发标题',
path: '/pages/card/index?scene='+this.data.activeSceneId,
imageUrl:this.data.curCardData.full_pic.url,
success(){
console.log(6)
},
fail(err){
console.log(err)
}
}
},
onCloseShare() {
this.setData({ showShare: false });
},
onShowShare(){
//点击后关闭 tooltips - 生成图片
this.setData({
tooltipsImg:false,
showShare:true
})
this.setStoreTooltipsImg();
// let imgUrl=this.data.curCardData.full_pic.url;
// wx.downloadFile({
// url: imgUrl.indexOf('http')>-1?imgUrl:'https:'+imgUrl,
// success: (res) => {
// wx.showShareImageMenu({
// path: res.tempFilePath,
// success(res){
// console.log(res)
// // wx.reportAnalytics('save_img', {
// // });
// },
// fail(err){
// console.log(err)
// },
// complete(res){
// console.log(res)
// }
// })
// }
// })
},
onSelectShare(event){
console.log(event);
// if(event.detail.id){ //保存图片上报
wx.reportAnalytics('save_img', {
scene: this.data.scene,
});
let imgUrl=this.data.curCardData.full_pic.url;
wx.downloadFile({
url: imgUrl.indexOf('http')>-1?imgUrl:'https:'+imgUrl,
success: (res) => {
wx.saveImageToPhotosAlbum({
filePath:res.tempFilePath,
success:(res)=> {
console.log(res)
this.onCloseShare();
},
fail(e){
if(e.errno===103){
wx.openSetting({
success(res) {
console.log(res)
},
fail(e){
console.log(e)
wx.showToast({
title:'请开启添加到相册权限'
})
}
})
}
}
})
}
})
// }
},
onCloseMenus(){
this.setData({
menusShow:false
})
}
})
{
"usingComponents": {
"van-icon": "@vant/weapp/icon/index",
"van-tree-select": "@vant/weapp/tree-select/index",
"van-transition": "@vant/weapp/transition/index",
"van-share-sheet": "@vant/weapp/share-sheet/index",
"van-button": "@vant/weapp/button/index",
"van-overlay": "@vant/weapp/overlay/index"
},
"onReachBottomDistance": 1
}
<!--pages/card/index.wxml-->
<!--<view class="container">-->
<!-- <web-view src="{{url}}"></web-view>-->
<!--</view>-->
<wxs src="../../wxs/utils.wxs" module="utils" />
<wxs src="./index.wxs" module="wxs" />
<view class="container" bindtap="closeTooltips">
<view wx:if="{{curCardData.pics[0]}}">
<image
wx:for="{{curCardData.pics[0]}}"
wx:key="index"
mode="widthFix"
src="{{item.url}}"
class="width100 displayBlock"
/>
</view>
<text class="txt-end" id="end">- END -</text>
<view id="end-line" class="end-line"/>
<view class="docker-view {{!isBottom?'':'fixedbottom140'}}">
<view class="icon-view " bindtap="gotoTop" wx:if="{{showTopBtn}}">
<van-icon name="arrow-up" size="60rpx" />
</view>
<view class="icon-view" bindtap="onShowShare" >
<van-icon name="photo" size="60rpx"/>
</view>
<view wx:if="{{!isBottom}}">
<view class="icon-view" bindtap="onShowMenus">
<van-icon name="bars" size="60rpx"/>
</view>
</view>
</view>
<text class="tooltips-img" wx:if="{{tooltipsImg}}">点击按钮可以将页面生成长图保存</text>
<text class="tooltips-menus" wx:if="{{tooltipsMenus}}">点击按钮可以查看更多大纲内容</text>
<van-button class="fixed-btn-menus" wx:if="{{isBottom}}" type="info" bindtap="onShowMenus"><van-icon name="bars" />查看完整2022新大纲</van-button>
<!-- <van-share-sheet-->
<!-- show="{{ showShare }}"-->
<!-- title=""-->
<!-- options="{{ shareOptions }}"-->
<!-- bind:select="onSelectShare"-->
<!-- bind:close="onCloseShare"-->
<!-- >-->
<!-- &lt;!&ndash; 生成的长图悬浮到van-share-sheet上面 &ndash;&gt;-->
<!-- <view wx:if="{{showShare}}" class="full-img-view"><image-->
<!-- wx:if="{{curCardData.full_pic}}"-->
<!-- mode="heightFix"-->
<!-- src="{{curCardData.full_pic.url}}"-->
<!-- class="height60 displayBlock"-->
<!-- /></view>-->
<!-- </van-share-sheet>-->
<van-overlay show="{{ showShare }}"
class="{{showShare?'share-fixed-z-index':''}}"
>
<view class="full-img-view">
<image
wx:if="{{curCardData.full_pic}}"
mode="heightFix"
src="{{curCardData.full_pic.url}}"
class="height60 displayBlock"
/>
</view>
<view class="share-container">
<view class="share-columns">
<view class="share-item share-save" bindtap="onSelectShare">
<view class="icon-view" >
<van-icon name="photo" size="60rpx"/>
</view>
<text class="save-text">保存到本地</text>
</view>
</view>
<van-button class="width100 cancel-btn" bindtap="onCloseShare">取消</van-button>
</view>
</van-overlay>
<!-- <van-transition-->
<!-- show="{{ menusShow }}"-->
<!-- name="slide-right"-->
<!-- class="width100 menus-fixed {{menusShow?'menus-fixed-z-index':''}}"-->
<!-- >-->
<van-overlay show="{{ menusShow }}"
class=" menus-fixed {{menusShow?'menus-fixed-z-index':''}}"
>
<van-tree-select
items="{{ menusArr }}"
main-active-index="{{ mainActiveIndex }}"
active-id="{{ activeSceneId }}"
bind:click-nav="onClickNav"
bind:click-item="onClickItem"
class="width100 tree"
height="80vh"
main-item-class="main-menus"
content-item-class="content-item"
>
<view slot="content">
<view
wx:for="{{ menusArr[mainActiveIndex].child }}"
wx:key="id"
class="van-ellipsis content-item-class {{ utils.bem('tree-select__item', { active: wxs.isActive(activeSceneId, item.id,item.disabled), disabled: item.disabled }) }} {{ wxs.isActive(activeSceneId, item.id,item.disabled) ? 'content-active-class' : '' }} {{ item.disabled ? 'content-disabled-class' : '' }}"
data-item="{{ item }}"
bind:tap="onSelectItem"
>
{{ item.text }}
<van-icon
wx:if="{{ wxs.isActive(activeSceneId, item.id,item.disabled) }}"
name="success"
size="16px"
class="van-tree-select__selected"
/>
<van-icon
wx:if="{{ item.disabled }}"
name="lock"
size="16px"
class="van-tree-select__selected"
/>
</view>
</view>
</van-tree-select>
<van-icon class="close-icon" name="close" size="80rpx" color="#fff" bindtap="onCloseMenus"/>
</van-overlay>
<!-- </van-transition>-->
</view>
/* eslint-disable */
var array = require('../../wxs/array.wxs');
function isActive (activeList, itemId,disabled) {
if (array.isArray(activeList)) {
return (activeList.indexOf(itemId) > -1);
}
return (activeList === itemId) && !disabled;
}
module.exports.isActive = isActive;
/* pages/card/index.wxss */
page{
padding-bottom:100rpx;
}
.displayBlock{
display:block;
}
.width100{
width:100vw;
}
.docker-view{
position:fixed;
right:20rpx;
bottom:60rpx;
z-index:9;
}
.fixedbottom140{
bottom:140rpx;
}
.icon-view{
margin-top:20rpx;
width:100rpx;
height:100rpx;
border-radius:100rpx;
background:#fff;
display:flex;
align-items:center;
justify-content:center;
}
.menus-fixed{
position:fixed;
z-index:0;
}
.menus-fixed-z-index{
z-index:10;
}
.txt-end{
color:#999;
text-align:center;
line-height:80rpx;
}
.height100{
height:100%;
}
.fixed-btn-menus{
position:fixed;
width:100%;
left:0;
bottom:20rpx;
margin-left:5%;
}
.fixed-btn-menus .van-button{
width:90%;
border-radius:44px;
}
.tooltips-img,.tooltips-menus{
position:fixed;
bottom:195rpx;
right:135rpx;
padding:0 30rpx;
background:rgba(0,0,0,0.8);
color:#fff;
font-size:30rpx;
height:70rpx;
line-height:70rpx;
border-radius:10rpx;
}
.tooltips-img:after,.tooltips-menus:after{
position:absolute;
right: -21rpx;
top: 20rpx;
width:0;
height:0;
border-left:12rpx solid rgba(0,0,0,0.8);
border-right:12rpx solid transparent;
border-top:15rpx solid transparent;
border-bottom:15rpx solid transparent;
content:''
}
.tooltips-menus{
bottom:75rpx;
}
.end-line{
width:100vh;
}
.full-img-view{
position: fixed;
left:50%;
transform:translateX(-50%);
z-index: 999;
bottom: 350rpx;
}
.height60 {
height:calc(100vh - 400rpx);
}
.share-container{
position: fixed;
width:100%;
height:300rpx;
background:#fff;
bottom:0;
}
.share-columns{
display:flex;
justify-content:center;
align-items:center;
height:200rpx;
border-bottom:1rpx solid #ccc;
}
.cancel-btn{
width:100%;
height:100rpx;
line-height:100rpx;
border:none;
}
.share-item{
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
}
.share-save .icon-view{
margin-top:0;
background:#f1f1f1;
}
.save-text{
margin-top:10rpx;
font-size:26rpx;
}
.cancel-btn .van-button{
width:100%;
border:none;
font-size:30rpx;
}
.share-fixed-z-index{
z-index:999
}
.menus-item-right{
}
.tree {
border-radius:20rpx;
}
.tree .van-tree-select__content{
background-color:#fff;
flex:2;
}
.van-tree-select__item{
width:300rpx;
font-weight:700;line-height:44px;padding:0 32px 0 16px;position:relative
}
.van-tree-select__item--active{color:#ee0a24}
.van-tree-select__item--disabled{
}
.van-tree-select__selected{position:absolute;right:16px;top:50%;transform:translateY(-50%)}
.van-tree-select{
width:90%;
margin:50rpx auto;
}
.main-menus{
width:290rpx;
}
.main-menus .van-tree-select .van-tree-select__nav{
}
.van-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.close-icon{
position:relative;
left:50%;
transform:translateX(-50%);
}
::-webkit-scrollbar-track-piece {
background-color: rgba(0, 0, 0, 0);
border-left: 1px solid rgba(0, 0, 0, 0);
}
::-webkit-scrollbar {
width: 5px;
height: 13px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
::-webkit-scrollbar-thumb {
background-color: rgba(0, 0, 0, 0.2);
background-clip: padding-box;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
min-height: 3px;
}
::-webkit-scrollbar-thumb:hover {
background-color: rgba(0, 0, 0, 0.2);
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
// pages/index/index.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
},
gotoCard(){
wx.navigateTo({
url: '/pages/card/index?scene=1&from=index',
})
}
})
{
"usingComponents": {}
}
\ No newline at end of file
<view class="container">
<image
src="https://image.shenlancity.com/winterfell/static/20220524114921gfCAdWD8DTGj.jpg"
class="img displayBlock"
mode="widthFix"
bindtap="gotoCard"
/>
</view>
/* pages/index/index.wxss */
.displayBlock{
display:block;
}
.img{
margin:20rpx auto;
width:670rpx;
border-radius:20rpx;
}
......@@ -8,7 +8,7 @@
"minified": true,
"newFeature": true,
"coverView": true,
"nodeModules": false,
"nodeModules": true,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
......@@ -31,13 +31,18 @@
"useCompilerModule": true,
"userConfirmedUseCompilerModuleSwitch": false,
"userConfirmedBundleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": [],
"packNpmManually": true,
"packNpmRelationList": [
{
"packageJsonPath": "./package.json",
"miniprogramNpmDistDir": "./"
}
],
"minifyWXSS": true
},
"appid": "wxc2a5e8782fb56ad9",
"projectname": "fk_xcx",
"libVersion": "2.19.4",
"libVersion": "2.24.0",
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
......@@ -67,7 +72,7 @@
{
"name": "pages/weibanzhushou/index",
"pathName": "pages/weibanzhushou/index",
"query": "",
"query": "id=11",
"scene": null
},
{
......@@ -85,7 +90,19 @@
{
"name": "pages/youzan/index",
"pathName": "pages/youzan/index",
"query": "pic_id=2192&yz_url=packages/goods/detail/index?alias=1y91ryy7uj35ure",
"query": "pic_id=382749&yz_url=packages/goods/detail/index?alias=1y91ryy7uj35ure",
"scene": null
},
{
"name": "pages/joinGroupH5/index",
"pathName": "pages/joinGroupH5/index",
"query": "id=29",
"scene": null
},
{
"name": "pages/card/index",
"pathName": "pages/card/index",
"query": "scene=2",
"scene": null
}
]
......
//const host='http://ljj.dev.neoteched.com' //开发
//const host='http://lxlsk.dev.neoteched.com' //开发
//const host='https://winterfell-alpha.neoteched.com' //测试
export const host='https://sk2.shenlancity.com' //线上
// export const host='http://ljj.dev.neoteched.com' //开发
// export const host='http://winterfell.ltm.dev.neoteched.com' //开发
//export const host='http://wf.alpha.neoteched.com' //测试环境wf
//export const host='http://lxlsk.dev.neoteched.com' //开发
// export const host='https://winterfell-alpha.neoteched.com' //测试
export const host='https://sk2.shenlancity.com' //线上
export const request=({url,data,method,header,success,fail})=>{
if(!url){
......
//函数节流
export function throttle(fn,interval=100) {
let lastEndTime=0;
let timer=null
return function(){
let newStartTime=Date.now();
let self=this
if(newStartTime-lastEndTime>interval){
fn.apply(self,arguments);
lastEndTime=newStartTime;
}
}
}
/* eslint-disable */
var REGEXP = getRegExp('^-?\d+(\.\d+)?$');
function addUnit(value) {
if (value == null) {
return undefined;
}
return REGEXP.test('' + value) ? value + 'px' : value;
}
module.exports = addUnit;
function isArray(array) {
return array && array.constructor === 'Array';
}
module.exports.isArray = isArray;
/* eslint-disable */
var array = require('./array.wxs');
var object = require('./object.wxs');
var PREFIX = 'van-';
function join(name, mods) {
name = PREFIX + name;
mods = mods.map(function(mod) {
return name + '--' + mod;
});
mods.unshift(name);
return mods.join(' ');
}
function traversing(mods, conf) {
if (!conf) {
return;
}
if (typeof conf === 'string' || typeof conf === 'number') {
mods.push(conf);
} else if (array.isArray(conf)) {
conf.forEach(function(item) {
traversing(mods, item);
});
} else if (typeof conf === 'object') {
object.keys(conf).forEach(function(key) {
conf[key] && mods.push(key);
});
}
}
function bem(name, conf) {
var mods = [];
traversing(mods, conf);
return join(name, mods);
}
module.exports = bem;
/**
* Simple memoize
* wxs doesn't support fn.apply, so this memoize only support up to 2 args
*/
/* eslint-disable */
function isPrimitive(value) {
var type = typeof value;
return (
type === 'boolean' ||
type === 'number' ||
type === 'string' ||
type === 'undefined' ||
value === null
);
}
// mock simple fn.call in wxs
function call(fn, args) {
if (args.length === 2) {
return fn(args[0], args[1]);
}
if (args.length === 1) {
return fn(args[0]);
}
return fn();
}
function serializer(args) {
if (args.length === 1 && isPrimitive(args[0])) {
return args[0];
}
var obj = {};
for (var i = 0; i < args.length; i++) {
obj['key' + i] = args[i];
}
return JSON.stringify(obj);
}
function memoize(fn) {
var cache = {};
return function() {
var key = serializer(arguments);
if (cache[key] === undefined) {
cache[key] = call(fn, arguments);
}
return cache[key];
};
}
module.exports = memoize;
/* eslint-disable */
var REGEXP = getRegExp('{|}|"', 'g');
function keys(obj) {
return JSON.stringify(obj)
.replace(REGEXP, '')
.split(',')
.map(function(item) {
return item.split(':')[0];
});
}
module.exports.keys = keys;
/* eslint-disable */
var object = require('./object.wxs');
var array = require('./array.wxs');
function kebabCase(word) {
var newWord = word
.replace(getRegExp("[A-Z]", 'g'), function (i) {
return '-' + i;
})
.toLowerCase()
return newWord;
}
function style(styles) {
if (array.isArray(styles)) {
return styles
.filter(function (item) {
return item != null && item !== '';
})
.map(function (item) {
return style(item);
})
.join(';');
}
if ('Object' === styles.constructor) {
return object
.keys(styles)
.filter(function (key) {
return styles[key] != null && styles[key] !== '';
})
.map(function (key) {
return [kebabCase(key), [styles[key]]].join(':');
})
.join(';');
}
return styles;
}
module.exports = style;
/* eslint-disable */
var bem = require('./bem.wxs');
var memoize = require('./memoize.wxs');
var addUnit = require('./add-unit.wxs');
module.exports = {
bem: memoize(bem),
memoize: memoize,
addUnit: addUnit
};
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