精华内容
下载资源
问答
  • wepy小程序开发视频

    2020-08-26 11:55:08
    一个很不错的wepy小程序教学视频,从构建构建到项目运行都是很完整,很适合刚接触wepy开发的朋友.视频+源码,不要错过这样的干货。下载txt文件下来,里面直接链接就可以下载。
  • 只做了高德地图依据搜索地址滑动地图显示对应的建筑,在依据显示的建筑添加地址,搜索地址,显示对应的地址,再将对应的地址显示到地图上滑动
  • wepy小程序项目

    2020-05-26 17:24:34
    wepy init standard myproject1 2 Eslint选择y。Redux选择N。 3 安装依赖选项 npm i 4 开启时时监听功能 wepy build --watch 5 pages/index.wpy就是显示得页面,进行梳理。 <script> import wepy from '...

    1 初始化项目

    wepy init standard myproject1
    

    组件里面的方法要在methods里面使用。生命周期的方法直接使用。
    组件里面的点击事件@tap
    2 Eslint选择y。Redux选择N。
    在这里插入图片描述
    3 安装依赖选项

    npm i
    

    4 开启时时监听功能

    wepy build --watch
    

    5 pages/index.wpy就是显示得页面,进行梳理。

    <script>
    import wepy from 'wepy'
    export default class extends wepy.page {}
    </script>
    

    6 梳理入口文件app.wpy
    将onLanch后面得所有得代码都删除,并且onLanch里面调用得方法也可以删除了。

    7 将Mixin里面和components里面所有得组件都删除

    8 在写路径得时候不要写后缀名

     pages: [
          'pages/home',
          'pages/cates',
          'pages/search',
          'pages/cart',
          'pages/my'
        ],
    

    9 开启promise功能,app.wpy里面

      constructor() {
        super()
        this.use('requestfix')
        //为所有的异步开启promisify功能
        this.use('promisify')
      }
    

    10 调接口结束之后需要调用this.$apply()
    告知页面重新渲染

      async getSwiperList() {
        const { data: res } = await wepy.request(
          'https://fanhc.xyz/api/public/v1/home/swiperdata'
        )
        console.log(res)
        this.swiperList = res.message
        console.log(this.swiperList)
    
        this.$apply()
      }
    

    11 小程序如何弹框。->API里面

    wx.showToast(Object object)
    显示消息提示框
    
    参数
    Object object
    
    async getSwiperList() {
        const { data: res } = await wepy.request(
          'https://fanhc.xyz/api/public/v1/home/swiperdata'
        )
        if (res.meta.status !== 200) {
          return wx.showToast({
            title: '成功',
            icon: 'success',
            duration: 2000
          })
        }
        this.swiperList = res.message
        this.$apply()
      }
    

    12 轮播图的实现

    <swiper circular indicator-dots>
          <swiper-item wx:for='{{swiperList}}' wx:key='index'>
            <navigator url='{{item.navigator_url}}' open-type='{{item.open_type}}'>
              <image src="{{item.image_src}}"/>
            </navigator>
          </swiper-item>
        </swiper>
    

    13 如何将wpy里面的js代码全部抽离出来
    在mixins文件夹里面创建同等的js文件夹,这个要写成mixin,将wpy里面所有的js文件全部拷贝到这个里面。

    import wepy from 'wepy'
    
    export default class extends wepy.mixin {}
    

    在wpy里面导入的方式

    import mix from '@/mixins/tabs/home.js'
    export default class extends wepy.page {
      mixins = [mix]
    }
    

    14 wepy开发微信小程序使用vant-weapp
    将这个仓库里面的文档下载下来。clone或者直接download
    https://github.com/youzan/vant-weapp

    15 将文件夹里面lib文件夹拷贝到我们的项目assets文件夹里面,这就是将vant-weapp里面所有的组件就像我们引入图片一样,先保存在项目里面。

    16 如何使用这些组件,在app.wpy组件里面使用组件
    例如。但是这个路径需要我们像引入图片一样自己设置。

        // 导入组件
        usingComponents: {
          'van-sidebar': './assets/vant/slider/index',
          'van-sidebar-item': './assets/vant/sidebar-item/index'
        }
    

    17 如何做下面这个左右滚动互相不干扰的样式。在微信小程序里面有一个组件scroll-view,使用这个组件就可以了。
    在这里插入图片描述
    18 点击这个一级如何获得二级分类
    点击找到事件源,e.detail就是你点击的索引值。

     methods = {
            onChange(e){
                this.secondItem = this.cateList[e.detail].children
                console.log(this.secondItem);
                
            }
          
        }
    

    19 设置竖向滚动条的位置
    这个是scroll-view自带的滚动条,在这个上面可以使用scroll-top进行设置竖向高度,但是在点击一级分类的时候,这个变量必须发生变化,否则是无法实现点击新的数据发生变化的。

    <scroll-view scroll-top="{{scrollTop}}" scroll-y style="height:{{height}}px;width:100%;">
                <!-- 二级分类 -->
                <block wx:for="{{secondItem}}" wx:key="index">
                    <van-row>
                        <van-col span="24">
                            <text>{{item.cat_name}}</text>
                        </van-col>
                    </van-row>
                     <!-- 三级分类 -->
                    <van-row>
                        <block wx:for="{{item.children}}" wx:key="index">
                                <van-col span="8">
                                    <image class="three-img" src='{{item.cat_icon}}'/>
                                    <view>{{item.cat_name}}</view>
                                </van-col>
                        </block>
                    </van-row>
                </block>
               
            </scroll-view>
    
      scrollTop:0
     onChange(e) {
                this.secondItem = this.cateList[e.detail].children
                console.log(this.secondItem);
                this.scrollTop = this.scrollTop - 1
            }
    

    20 当请求时网速过慢的时候,设置拦截器进行解决,显示一个loading效果。
    在wepy里面找到拦截器组件。复制到app.wpy里面的constructor里面。
    在这里插入图片描述

     constructor() {
        super()
        this.use('requestfix')
        this.use('promisify')
        // 拦截request请求
        this.intercept('request', {
          // 发出请求时的回调函数
          config(p) {
          wx.showLoading({
              title: '加载中'
            })
            // 必须返回OBJECT参数对象,否则无法发送请求到服务端
            return p
          },
    
          // 请求成功后的回调函数
          success(p) {
            // 必须返回响应数据对象,否则后续无法对响应数据进行处理
            return p
          },
    
          // 请求失败后的回调函数
          fail(p) {
            // 必须返回响应数据对象,否则后续无法对响应数据进行处理
            return p
          },
    
          // 请求完成时的回调函数(请求成功或失败都会被执行)
          complete(p) {
           wx.hideLoading()
            console.log('request complete: ', p)
          }
        })
      }
    

    21 js导入和使用

    export default class extends wepy.mixin {
        data = {
            value:0
        }
           methods = {
            onSearch(e) {
                console.log(e.detail);
                console.log('11');
    
            },
            onCancel() { }
        }
    }
    
    import wepy from 'wepy'
    import mix from '@/mixins/tabs/search.js'
    export default class extends wepy.page {
      mixins = [mix]
    }
    

    22 调用这个接口的时候,不要忘记等于号

      async toGoList(goods_id) {
                console.log(goods_id);
                const data = await wepy.navigateTo({
                    url: "/pages/goods_detail/main?goods_id="+goods_id
                })
            }
    

    在这里插入图片描述
    23

    展开全文
  • 本文为大家分享了微信小程序框架wepy之动态控制类名的具体实现方法,供大家参考,具体内容如下 控制类名 style <style lang=less scoped> .liBkgCor { background-color: red; } </style> template...
  • 微信小程序/wepy/日历组件
  • wepy-wechat-demo:基于wepy开发的仿微信聊天界面小程序 wepy-demo-bookmall:微信小程序代码示例,使用wepy框架及weui样式开发 leshare-seller-wepy:基于小程序的电商卖家端,采用wepy框架开发 leshare-food-...
    <script type="text/javascript" src="http://hovertree.com/ziyuan/jquery/jquery-1.11.3.min.js";></script>
    
    <script type="text/javascript" src="http://hovertree.com/texiao/yestop/inc/jquery.yestop.js";></script>
    
    <style>
    body{
    margin: 0px;
    font-family:Arial;
    }
    a{
    color:bule
    }
    
    
    <script type="text/javascript">
    $(document).ready(function () { $.fn.yestop(); })
    </script>
    

    https://echarts.baidu.com/

    echarts多条折线图和横柱状图实现
    https://www.jianshu.com/p/f02d604844b6

    wepy快速指南
    小程序框架wepy开发文档
    wepy开源
    wepy官方文档

    微信小程序开发框架—wepy快速入门

    wepy - 一个小程序的组件化开发框架

    wepy-小程序开发框架学习(一)

    wepy-小程序开发框架学习(二)

    wepy-wechat-demo:基于wepy开发的仿微信聊天界面小程序
    wepy-demo-bookmall:微信小程序代码示例,使用wepy框架及weui样式开发
    leshare-seller-wepy:基于小程序的电商卖家端,采用wepy框架开发
    leshare-food-wepy:基于微信小程序的外卖店铺,采用wepy框架开发
    wepy-books:微信小程序wepy版图书管理系统
    wxYuHanStore:基于wepy开发的商城(微店)微信小程序

    ECMAScript 6文档:http://caibaojian.com/es6/
    ES6中文手册:https://www.jianshu.com/p/b6c882e59b07
    官网:http://www.es6js.com/

    TypeScript 中文网:https://www.tslang.cn/
    TypeScript 入门教程:http://www.runoob.com/w3cnote/getting-started-with-typescript.html

    Dart中文社区:https://www.dart-china.org/

    WebAssembly
    官网:https://webassembly.org/

    Vue 2.0
    文档:https://cn.vuejs.org/
    社区:https://www.vue-js.com/

    Vue 3.0
    Vue CLI 3:https://cli.vuejs.org/

    React
    https://reactjs.org/docs/hooks-intro.html

    React 中文文档:https://react.docschina.org/
    社区:http://react-china.org/
    菜鸟教程:http://www.runoob.com/react/react-tutorial.html

    Angular
    中文网:http://www.angularjs.net.cn/

    Redux 中文文档:https://www.redux.org.cn/

    Graphql + Apollo 学习与实践
    http://graphql.cn/
    http://graphql.cn/learn/

    Express
    http://www.expressjs.com.cn/
    菜鸟教程:http://www.runoob.com/nodejs/nodejs-express-framework.html

    Next.js
    Nextjs中文文档:https://www.jianshu.com/p/8d070e2b39a5
    Next.js中文站点 http://nextjs.frontendx.cn
    Next.js中文站Github https://github.com/raoenhui/next-site-cn

    Koa
    基于 Node.js 平台的下一代 web 开发框架 :https://koa.bootcss.com/

    Egg.js
    egg 为企业级框架和应用而生:https://eggjs.org/zh-cn/
    快速入门https://eggjs.org/zh-cn/intro/quickstart.html

    Think.js:
    官网:https://thinkjs.org/
    文档:https://thinkjs.org/zh-cn/doc/2.2/app_structure.html

    使用 JavaScript, HTML 和 CSS 构建跨平台的桌面应用:https://electronjs.org/
    Electron 文档:https://electronjs.org/docs
    Electron 中文文档:https://www.w3cschool.cn/electronmanual/

    React Native中文网
    编写原生移动应用:https://reactnative.cn/

    Flutter中文网:https://flutterchina.club/

    Python 基础教程:http://www.runoob.com/python/python-tutorial.html

    菜鸟教程:http://www.runoob.com/php/php-tutorial.html
    教程:http://www.w3school.com.cn/php/index.asp

    构建工具
    webpack中文文档 :https://www.webpackjs.com/

    gulp:https://www.gulpjs.com.cn/
    Grunt:https://www.gruntjs.net/

    Grunt中文网:https://www.gruntjs.net/

    Lodash中文网:https://www.lodashjs.com/
    Moment中文网:http://momentjs.cn/

    浏览器 API
    Service Workers:https://developer.mozilla.org/zh-CN/docs/Web/API/Service_Worker_API
    Web Components:https://developer.mozilla.org/zh-CN/docs/Web/Web_Components

    mpvue官方文档:http://mpvue.com/mpvue/
    Taro文档:https://taro.aotu.io/

    Vuex
    文档:https://vuex.vuejs.org/zh/

    RxJS是一个异步编程的库
    中文文档:https://cn.rx.js.org/

    Lavas
    Vue.js 的 PWA 解决方案:https://lavas.baidu.com/

    开源项目
    wepy-wechat-demo:基于wepy开发的仿微信聊天界面小程序
    深大的树洞:基于wepy开发的树洞类微信小程序
    wepy-demo-bookmall:微信小程序

    展开全文
  • [iwebchat]是有赞移动 Web UI 规范 ZanUI 的wepy小程序现实版本
  • wepy小程序长列表性能优化实践

    千次阅读 2019-01-24 10:40:39
    wepy 1.7.3 wepy-redux 长列表交互问题 wepy框架的列表性性能比较差,主要原因是修改列表中任意字段的时候,会给setData传递完整的列表,详细见这个issue; 此时修改长列表任意字段,都会导致页面长时间不响应 ...

    背景

    • wepy 1.7.3
    • wepy-redux

    长列表交互问题

    wepy框架的列表性性能比较差,主要原因是修改列表中任意字段的时候,会给 setData传递完整的列表,详细见这个 issue

    此时修改长列表任意字段,都会导致页面长时间不响应

    解决

    使用字典( Object)与长列表进行组合,因为一般情况下字典的数据量会远远小于列表

    场景

    任意弹窗对购物车 cart进行修改,产品列表对应的购买数量同步修改
    // 数据结构
    
    // 产品列表(长度3000+)
    var products = [{id: "79", name: "精致荤菜"}...]
    
    // 购物车字典 
    // key: productId, value: 购物车数据
    var cartDict = {
        2407: {
            price: "1.02"
            num: 2
        }
    }

    注意由于cartDict数据为用户手动添加,数据量远远小于列表。那么setData时速度也会相应提高

    此时我们使用组合方式渲染列表的购买量

    <view class="num" wx:if="{{ cartDict[product.id] }}">{{cartDict[product.id].num}}</view>

    通过将每次修改列表转移为每次修改cartDict来达到提升性能的效果;上面那个issue也可以用类似思路制作一个展开产品的字典

    首次加载白屏问题

    我们的商品列表一般会比较长(目前最大有3000+个),此时第一次进入页面白屏时间很长(10s+);

    解决

    使用h5的优化思路,类似app。只渲染一部分屏幕内的产品,其他绝大部分产品使用骨架展示;使用此方法有一些限制

    • 产品高度需要已知,用来计算当前产品是否在屏幕内
    • 滚动体验没有不优化的好,小程序其实也是用的这种列表优化思路,因此快速滚动的时候实际效果是
    白屏(小程序优化) => 骨架(我们的优化)
    => 出现产品

    场景

    我们项目所有产品等高,因此比较好计算当前产品是否应该展示。

    首先是模板写法

    <repeat for="{{products}}" item="dish" index="index">
      <dishItem :dish="dish"
        wx:if="{{showTypeDict[type.id]}}"></dishItem>
      <view wx:else>
        <image src="{{_skeleton}}"></image>
      </view>
    </repeat>

    说明:

    • showTypeDict代表当前需要展示的产品字典,使用字典原因是基于长列表交互问题
    • 对产品进行分类,每次只比较分类的坐标然后展示整个分类
    • dishItem是产品对应组件,比较复杂
    • skeleton为骨架

    监听scroll,根据当前scrollTop和产品分类的坐标来决定showTypeDict的内容,注意截流;

    使用以上方法优化后3000+产品白屏时间与100+产品持平。滚动时无卡顿,快速滚动时需要等待一会儿产品才能渲染出来;


    以上

    展开全文
  • 异步数据父子组件传值注意 parent child {{tab}} export default class Tab extends wepy.component { props = { tab:{ type:Object, default:null, twoWay:true } } 以下必须注意 模版中要给子组件传的值 在data里...

    父子组件传值

    静态传值

    静态传值为父组件向子组件传递常量数据,因此只能传递String字符串类型。

    父组件 (parent.wpy)

    子组件(child.wpy)

    {{name}}

    props={

    name:String

    }

    onLoad(){

    console.log(this.name);//leinov

    }

    动态传值

    sync修饰符来达到父组件数据绑定至子组件的效果

    也可以通过设置子组件props的twoWay: true来达到子组件数据绑定至父组件的效果

    如果既使用.sync修饰符,同时子组件props中添加的twoWay: true时,就可以实现数据的双向绑定了。

    异步数据父子组件传值注意

    parent

    export default class Parents extends wepy.page {

    data = {

    tabdata:{}, //下面要用这里必须要写上

    }

    async onLoad() {

    let data = await getData(,"public/data",{session_key:"1234456"});

    this.tabdata= data.tab;

    this.$apply();//必须

    }

    }

    child

    {{tab}}

    export default class Tab extends wepy.component {

    props = {

    tab:{

    type:Object,

    default:null,

    twoWay:true

    }

    }

    以下必须注意

    模版中要给子组件传的值 在data里要声明好

    取到异步值后要使用this.$apply()手动更新组件

    在父组件中调用子组件的属性名要加.sync

    子组件要使用父组件的props必须在props里声明

    展开全文
  • 一、引入插件we-cropper(相关api文档地址) npm install we-cropper --save 二.创建一个cropper.wpy(上传裁剪一个正方型图片) <style lang="less"> .cropperBox { background: #fff;......
  • wepy 小程序关闭 eslint

    2020-04-08 10:43:54
    ** 1.在文件夹内找到wepy.config.js ** 2. 找到eslint将其值改为false
  • 小程序wepy框架

    2018-07-18 13:59:40
    小程序wepy框架学习。框架构成、目录结构,编写语言。
  • wepy_ 小程序模板wepy git clone 拷贝下来后,建议另存一份,然后可以修改代码练习。 npm isntall 安装依赖 wepy build --wacth 编译检测
  • 使用 wepy 开发的小程序Demo
  • 前端萌新,如有不当之处请多赐教哦! 这个问题在网上看了好像没有直接修改page的方法,但是可以借助page下面的view,亲测有效。
  • wepy小程序框架中events的使用

    千次阅读 2019-11-26 16:39:49
    wepy.component基类提供$broadcast、$emit、$invoke三个方法用于组件之间的通信和交互,如: this.$emit('some-event', 1, 2, 3, 4); 用于监听组件之间的通信与交互事件的事件处理函数需要写在组件和页面的events...
  • wepyWexx wepy小程序 wepy 重构的秒杀小程序 分为买家版&卖家版 主要对卖家开放发起秒杀 对买家开放参与秒杀 买家可以预约秒杀
  • 快速入门 WePY 小程序

    2018-10-24 15:37:04
    WePY 是 腾讯 参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。 二、WePY 使用 1、WePY的安装或更新都通过npm进行: npm install -g wepy-cli //全局安装...
  • 微信小程序toast组件,适用于wepy
  • 12月4日boss通知,要求尽快把现有m站功能克隆一份到微信小程序,5日开始开发 - 9日基本完成,10日开始提测+改BUG,12月13日-发布到微信后台审核,12月14日开始写总结等发布,记录一下开发小程序的坑 ...
  • //原生写法 globalData.userInfo = userInfoRes.userInfo // 将不变的基本信息存入全局变量,避免... wepy.$instance.globalData.userInfo = userInfoRes.userInfo // 将不变的基本信息存入全局变量,避免多次请求 ...
  • 使用场景:当每次进入页面都需要执行某个函数时,如果用mixins,则需要每次都引入,此时可以考虑重定义一下全局周期函数 新建一个page.js文件 //utils/page.js importwepyfrom'@wepy/core' ...wepy.page=f...
  • 小程序-Wepy实现登录授权

    千次阅读 2019-01-08 11:12:55
    1.app.wpy 授权检测如果已授权则进入首页,未授权则关闭所有页面进入应用中的授权...2.授权页面 authorize.wepy代码 &lt;template&gt; &lt;view wx:if="{{canIUse}}"&gt; &lt;...
  • WePY 是腾讯参考了Vue 等框架对原生小程序进行再次封装的框架,更贴近于 MVVM 架构模式, 并支持ES6/7的一些新特性。 二、WePY 使用 1、WePY的安装或更新都通过npm进行: npm install -g wepy-cli //全局安装或...
  • wepy小程序中使用 腾讯位置服务 --路线规划 踩坑、踩坑、踩坑、踩坑 1、报错没导进去 qqmapwx 一定要小写 import qqmapwx from ‘…/libs/qqmap-wx-jssdk.min.js’; 2、起点偏移问题 --起点不是定位点 获取...
  • 解决:npm install less 后再 npm install wepy-compiler-less --save-dev 二、未发现相关sass 编译器配置 npm install node-sass 后再 npm install wepy-compiler-sass --save-dev 亲测有效哦。 ...
  • 最近在学习wepy框架开发小程序,记录一下学习笔记,有不足的地方,欢迎大家多多指出呀 一、准备工作 1.全局安装 npm install wepy-cli -g 2.创建项目 wepy new 项目名称 3.进入项目目录并安装依赖 1. cd 项目名 2....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,079
精华内容 1,631
关键字:

wepy小程序

友情链接: srwbf.rar