精华内容
下载资源
问答
  • 微信小程序开发常用的1600个PNG图标大全
  • 微信小程序 - 80个实用的微信小程序项目实例

    万次阅读 多人点赞 2020-09-10 18:48:35
    wx-gesture-lock微信小程序的手势密码 WXCustomSwitch微信小程序自定义 Switch 组件模板 WeixinAppBdNovel微信小程序demo:百度小说搜索 shitoujiandaobu小程序...huadong_del微信小程序滑动删除效果 jianhang_menu

    gitee下载地址:https://gitee.com/victorchang/WeApp_Demos

    wx-gesture-lock微信小程序的手势密码

    WXCustomSwitch微信小程序自定义 Switch 组件模板

    WeixinAppBdNovel微信小程序demo:百度小说搜索

    shitoujiandaobu小程序:石头剪刀布(附代码说明)

    audiodemo微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义

    star微信小程序开发之五星评分

    switchCity微信小程序开发之城市选择器 城市切换

    huadong_del微信小程序滑动删除效果

    jianhang_menu微信小程序开发之圆形菜单 仿建行圆形菜单

    xiaoxiaoxiao_lazyload实现微信小程序图片懒加载特效

    kangaiduowei微信小程序:康爱多微商城:学习界面设计

    tianmao_dazhuanpan小程序实现大转盘 仿天猫抽奖 跑马灯效果(有图有源码)

    weapp-meirong微信小程序学习用demo推荐:美容商城;列表,预约

    baisi微信小程序仿百思不得姐

    weapp-one仿 「ONE · 一个」 的微信小程序

    netmusic-app仿网易云音乐APP的微信小程序

    a_takeaway微信小程序的外卖demo

    sideslip微信小程序『侧边栏滑动』特效

    wx_plo微信小程序之仿微信漂流瓶

    kwonWhere微信小程序-知亦行

    audiodemo微信小程序开发之视频播放 弹幕 弹幕颜色自定义

    wxChart微信小程序图标插件

    guoku微信小程序-果库

    snake微信小程序-贪吃蛇小程序

    douban_movie微信小程序-仿豆瓣电影

    RecordDemo麦克风动画

    shishanggou实现了包括常用组件,ajax获取数据,模板使用,路由等的使用,下拉刷新数据;

    jiajuzaixian家具在线-演示如何使用下拉选项

    wechat-app-ipinbb爱拼宝宝-功能非常全的电商应用

    TodayNews-wx微信小程序-今日头条

    WXNative-bpgg奔跑果果-微信小程序

    wechatapp-demo是目前我发现的,实现实用功能较多的demo,推荐大家学习研究

    weapp-MatterAssistant微信小程序-事项助手

    weapp-wymusic微信小程序 仿网易云音乐

    weapp-wechat-nearby微信小程序-仿找事吧app附近三公里

    bs精简版百思不得姐

    WXBaiSi微信小程序版 百思不得姐

    weapp-demo-breadtrip基于面包旅行 API 制作的微信小程序示例

    html-to-wxml小程序中将html内容转化成wxml可以显示的内容,方便用于小程序中显示

    kachezhijia自卡车之家,有丰富的卡车司机和物流园区的资源,所以这个小程序可以说也是他们未来工作上的一个必将实施的项目。

    WxEmojiView微信小程序Emoji展示输入组件alpha 0.1

    GankCamp-WechatAPPgank.io (干货集中营) 微信小程序 版本

    wechat-JD微信小程序仿京东首页

    wechat-turntalbe-canvas用微信小程序开发的Canvas绘制可配置的转盘抽奖。

    mangguoTv微信小应用-小程序-demo-仿芒果TV

    wxreading微信小程序跟读

    WeChatMeiZhi微信小程序版妹纸图 API from gank.io

    CountDown微信小程序倒计时组件

    weapp-github微信小程序--github

    wechat-weapp-mapdemo微信小程序开发demo-地图定位,非常简单的demo,只为了解一下微信小程序

    wechat-cnode微信小程序 cnode社区版

    weapp-newsapp微信小程序-公众号热门文章信息流

    wechat-weapp-taobao微信小程序demo 仿手机淘宝

    timer番茄时钟微信小程序版

    wechat-app-music微信小程序:音乐播放器 技术栈: redux + es7 +labrador

    fenda-mock使用微信小程序实现「分答」这款APP的基础功能

    Wa-UI针对微信小程序整合的一套UI库

    wx-query微信小程序 仿jQuery插件

    weapp-artand微信小程序 Artand

    WeiXin-SmallApps-Information微信小程序-仿今日头条

    weapp-wechat-zhihu微信中的知乎--微信小程序

    WeApp基于微信小程序开发的仿微信demo

    SmallApp微信小程序

    wechat-v2ex微信小程序-v2ex

    weipiao微信小程序-微票

    DouBanBookApp微信小程序之小豆瓣图书

    wxapp-calc一个简单的微信小程序-简易计算器

    weapp-wechat-zhihu模仿知乎的小程序

    wx-movies-demo小程序--影讯

    caiquan微信小应用,猜拳小游戏

    hayeah-wxapp-Breakfast小林早厨微信小程序

    AppleMusic微信小程序,仿Apple Music

    cnode_wechat-webapp用cnode社区api做的微信小应用

    shoppingcar一个点餐、购物的购物车效果

    wechat-weapp-mall微信小程序实现移动端商城

    SmallAppForQQ高仿手机QQ应用程序

    zhihudaily微信小程序-知乎日报

    wechat-weapp-gank微信小程序-干货投稿应用

    TeamToy调用TeamToy API 的微信小程序 Demo

    douban微信小程序(应用号)示例教程(豆瓣电影)

    有兴趣的朋友可以加我的qq群交流学习,群里有更多源码,学习资料

    QQ群:741909960     

    点我进群

    展开全文
  • wx.previewImage({ current: _this.data.imgList[index], urls: _this.data.imgList }) }, // 点击删除 deleteImg: function(e) { var _this = this; var imgList = _this.data.imgList; var index = e....

    我们先来看看效果图吧

    我们来看看代码是怎么实现的

     wxml

    <view class="img-li" wx:for="{{imgList}}" wx:key="index">
            <image class="uploading-icon" src="{{item}}"></image>
          </view>
    <view class="img-li" wx:if="{{imgList.length<=5}}" bindtap="chooseSource">
              <image class="uploading-icon" src="../../../img/icon/icon-uploading-gray.png"></image>
            </view>

    wxss

    .img-li {
      width: 23%;
      height: 170rpx;
      margin-right: 20rpx;
      margin-bottom: 20rpx;
    }
    .img-li:nth-child(4) {
      margin-right: 0;
    }
    .img-li:first-child {
      margin-right: none;
    }
    .img-li image {
      width: 100%;
      height: 100%;
    }

    js  最主要部分

    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
        imgList: []
      },
      // 点击添加选择
      chooseSource: function() {
        var _this = this;
        wx.showActionSheet({
          itemList: ["拍照", "从相册中选择"],
          itemColor: "#CED63A",
          success: function(res) {
            if(!res.cancel) {
              if(res.tapIndex == 0) {
                _this.imgWShow("camera")        //拍照
              } else if (res.tapIndex == 1) {
                _this.imgWShow("album")      //相册
              }
            }
          }
        })
      },
      // 点击调用手机相册/拍照
      imgWShow: function(type) {
        var _this = this;
        let len = 0;
        if(_this.data.imgList != null) {
          len = _this.data.imgList.length
        }   //获取当前已有的图片
        wx.chooseImage({
          count: 6-len,     //最多还能上传的图片数,这里最多可以上传5张
          sizeType: ['original', 'compressed'],        //可以指定是原图还是压缩图,默认二者都有
          sourceType: [type],             //可以指定来源是相册还是相机, 默认二者都有
          success: function(res) {
            wx.showToast({
              title: '正在上传...',
              icon: "loading",
              mask: true,
              duration: 1000
            })
            // 返回选定照片的本地文件路径列表,tempFilePaths可以作为img标签的scr属性显示图片
            var imgList = res.tempFilePaths
            let tempFilePathsImg = _this.data.imgList
            // 获取当前已上传的图片的数组
            var tempFilePathsImgs = tempFilePathsImg.concat(imgList)
            _this.setData({
              imgList: tempFilePathsImgs
            })
          },
          fail: function () {
            wx.showToast({
              title: '图片上传失败',
              icon: 'none'
            })
            return;
          }
        })
      },
      // 预览图片
      previewImg: function(e) {
        let index = e.target.dataset.index;
        let _this = this;
        wx.previewImage({
          current: _this.data.imgList[index],
          urls: _this.data.imgList
        })
      },
      // 点击删除
      deleteImg: function(e) {
        var _this = this;
        var imgList = _this.data.imgList;
        var index = e.currentTarget.dataset.index;      //获取当前点击图片下标
        wx.showModal({
          title: '提示',
          content: '确认要删除该图片吗?',
          success: function(res) {
            if(res.confirm) {
              console.log("点击确定了")
              imgList.splice(index, 1);
            } else if (res.cancel) {
              console.log("点击取消了");
              return false
            }
            _this.setData({
              imgList
            })
          }
        })
      },
    })

    这里我写了一个限制最多上传6张图片,可以看一下官方文档

    展开全文
  • Bmob是一个很好用的后端云平台,自己在开发小程序的过程中有用到,比较好用,免去了搭建服务器、配置数据库的烦恼,这也符合小程序即用即走的轻量型设计理念。特写一篇文章总结一下常用功能的用法,详细用法可以参看...

    Bmob后端云官网:http://www.bmob.cn/

    Bmob后端云微信小程序开发文档:http://docs.bmob.cn/data/wechatApp/b_developdoc/doc/index.html

    Bmob是一个很好用的后端云平台,自己在开发小程序的过程中有用到,比较好用,免去了搭建服务器、配置数据库的烦恼,这也符合小程序即用即走的轻量型设计理念。特写一篇文章总结一下常用功能的用法,详细用法可以参看上面的开发文档。

    在小程序中使用Bmob后端云的前提是要先接入Bmob,接入方法请参见我的另一篇博文。

    添加一行数据到diary表中

    下面的代码可以在远程创建一个名为’diary’的数据库表并插入一条数据,该表有两个字段:’title’和’content’:

    // 创建一个表对象
    var Diary = Bmob.Object.extend('diary');
    // 创建一个表记录对象
    var diary = new Diary();
    
    // 插入字段数据
    diary.set('title','hello');
    diary.set('content','hello world!');
    
    // 保存数据到远程数据库
    diary.save(null,{
        success:function(result){
            console.log('create success! data id is:' + result,id);
        },
        error:function(object,error){
            console.log('create failed! error code is:' + error.code + ', error message is:' + error.message);
        }
    });

    根据ID查询单条数据

    var Diary = Bmob.Object.extend('diary');
    // 创建一个查询对象
    var query = new Bmob.Query(Diary);
    // 要查询的记录的ID
    var id = '4ecdf7a';
    
    // 查询
    query.get(id,{
        success:function(result){
            console.log('标题为:' + result.get('title'));
        },
        error:function(object,error){
            console.log('query failed! error code is:' + error.code + ', error message is:' + error.message);
        }
    });

    修改一条数据

    var Diary = Bmob.Object.extend('diary');
    var query = new Bmob.Query(Diary);
    // 要修改的记录的ID
    var id = '4ecdf7a';
    
    query.get(id,{
        success:function(result){
            result.set('title','a new title');
            result.set('content','hi,guy!');
    
            // 保存提交修改
            result.save();
        },
        error:function(object,error){
            console.log('update failed! error code is:' + error.code + ', error message is:' + error.message);
        }
    });

    删除一条数据

    var Diary = Bmob.Object.extend('diary');
    var query = new Bmob.Query(Diary);
    // 要删除的记录的ID
    var id = '4ecdf7a';
    
    query.get(id,{
        success:function(object){
            object.destroy({
                success:function(deleteObject){
                    console.log('删除成功!');
                },
                error:function(object,error){
                    console.log('delete failed! error code is:' + error.code + ', error message is:' + error.message);
                }
            });
        },
        error:function(object,error){
            console.log('query failed! error code is:' + error.code + ', error message is:' + error.message);
        }
    });

    批量删除

    Bmob.Object.destroyAll(objects);
    

    按条件删除

    query.destroyAll({
        success:function(object){
            ...
        },
        error:function(error){
            ...
        }
    });
    

    条件查询

    var Diary = Bmob.Object.extend('diary');
    var query = new Bmob.Query(Diary);
    
    query.equalTo('title','hello');
    query.find({
        success:funciton(results){
            console.log('共查询到' + results.length + '条数据');
            for(var i = 0;i < results.length;i++){
                var obj = results[i];
                console.log(obj.id + ':' + obj.get('title'));
            }
        },
        error:function(error){
            console.log('find failed! error code is:' + error.code + ', error message is:' + error.message);
        }
    })

    分页查询

    // 设置起始位置
    query.skip(10);
    // 设置查询个数
    query.limit(10);

    对查询结果排序

    // 对结果按照'title'字段升序排列
    query.ascending('title');
    
    // 对结果按照'title'字段降序排列
    query.descending('title');

    查询某个字段是特定几种取值

    query.containedIn('title',['hello','hi','hey']);

    查询指定列

    query.select('title');
    query.find().then(function(results){
        ...
    });

    查询字符串字段以某个子串开头

    query.startsWith('title','he');

    或查询

    var q1 = new Bmob.Query(Diary);
    q1.greaterThan('age',10);
    var q2 = new Bomb.Query(Diary);
    q2.lessThan('age',20);
    
    var mainQuery = Bmob.Query.or(q1,q2);
    mainQuery.find({
        success:function(results){
            ...
        },
        error:function(error){
            ...
        }
    });

    查询满足条件的记录的数量

    query.count({
        success:function(count){
            console.log('共查询到了' + count + '条数据');
        },
        error:function(error){
            ...
        }
    });

    Bmob对象的默认属性

    obj.id

    obj.createdAt

    obj.updatedAt

    支持的常见数据类型

    var num = 42;
    var string = 'hello';
    var date = new Date();
    var array = [string,num];
    var object = {number:num,string:string};
    
    var bigObj = new BigObject();
    bigObj.set('myNumber',num);
    bigObj.set('myString',string);
    bigObj.set('myDate',date);
    bigObj.set('myArray',array);
    bigObj.set('myObject',object);
    bigObj.set('myNull',null);
    
    bigObj.save();
    展开全文
  • 3.pop() 方法用于删除数组的最后一个元素并返回删除的元素 var a = [ 1 , 2 , 3 , 4 , 5 ] ; var b = a . pop ( ) ; //a=[1,2,3,4],b=5 原数组改变,返回被删除的末位值 移除最后一个数组元素 var ...

    在这里插入图片描述

    1.concat() 方法用于连接两个或多个字符串。

    连接两个字符串:
    
    var str1 = "Hello ";
    var str2 = "world!";
    var n = str1.concat(str2);
    n 输出结果:
    Hello world!
    
    
    concat(array1,array2,...)
    
    var a=[1,2,3,4,5];
    var a2=['a','b','c'];
    var a3=['d',6];
    var b=a.concat(a2,a3)  //a,a2,a3不改变,b=[1, 2, 3, 4, 5, "a", "b", "c", "d", 6] 返回新数组 
    

    2.join() 方法用于把数组中的所有元素放入一个字符串

    把数组中的所有元素转换为一个字符串:
    
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    var energy = fruits.join();
    energy输出结果:
    
    Banana,Orange,Apple,Mango
    

    3.pop() 方法用于删除数组的最后一个元素并返回删除的元素

    var a=[1,2,3,4,5];
    var b=a.pop();     //a=[1,2,3,4],b=5   原数组改变,返回被删除的末位值 
    
    
    移除最后一个数组元素
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.pop();
    fruits 结果输出:
    Banana,Orange,Apple
    

    4.push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度

    数组中添加新元素:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.push("Kiwi")
    fruits 结果输出:
    Banana,Orange,Apple,Mango,Kiwi
    
    
    push(newelem1,newelem2,....)    
    
    var a=[1,2,3,4,5];
    var b=a.push(6,7);     //a=[1,2,3,4,5,6,7],b=7  原数组改变,返回改变后的长度
    

    5.reverse() 方法用于颠倒数组中元素的顺序

    注意: 该方法会改变原来的数组,而不会创建新的数组。

    颠倒数组中元素的顺序:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.reverse();
    fruits 结果输出:
    Mango,Apple,Orange,Banana
    
    
    reverse()
    
    var a=[1,2,3,4,5];
    a.reverse()  //a=[5, 4, 3, 2, 1]  反续
    

    6.shift() 方法是将删除的首位值返回

    var a=[1,2,3,4,5];
    var b=a.shift()    //a=[2,3,4,5],b=1   原数组改变,返回被删除的首位值
    

    7.slice(start,end) 方法用于截取数组或者字符串

    arry.slice(start,end)
    var a=[1,2,3,4,5,6];
    var b=a.slice(0,3);    //[1,2,3]   末位不取,原数组a不变
    
    
    string.slice(start,end)
    var a="I am a boy";
    var b=a.slice(0,6)     //“I am a” 末位不取,原数组a不变 
    // 注意: Array.prototype.slice.call(arguments)能将具有length属性的对象转成数组
    

    8.sort() 方法用于对数组的元素进行排序

    1、数组排序(默认按字母升序)var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();
    fruits 输出结果:
    Apple,Banana,Mango,Orange
    
    
    2、数字升序
    var points = [40,100,1,5,25,10];
    points.sort(function(a,b){
    	return a-b
    });
    points输出结果:
    1,5,10,25,40,100
    
    
    3、数字降序
    var points = [40,100,1,5,25,10];
    points.sort(function(a,b){
    	return b-a
    });
    points输出结果:
    100,40,25,10,5,1
    
    
    4、字母降序:
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.sort();
    fruits.reverse();
    fruits输出结果:
    Orange,Mango,Banana,Apple
    

    9.split()方法:用于把一个字符串分割成字符串数组.

    把一个字符串分割成字符串数组:
    var str = "How are you doing today?";
    var n = str.split(" ");
    n 输出一个数组的值: How,are,you,doing,today?
    ["How", "are", "you", "doing", "today?"]
    
    
    string.split(separator,limit)
    var a="0123456";
    var b=a.split("",3)
    //b=['0','1','2']
    

    10.splice(start,deleteCount,item…) 方法替换已有元素,并返回被替换的元素

    var a=['a','b','c'];
    var b=a.splice(1,1,'e','f');
    //a=['a','e','f','c'],b=['b']  替换a的值,返回被删除的值
    

    11.toSource() //!!!只有 Gecko支持

    object.toSource
    function employee(name,job,born) {
        this.name=name;
        this.job=job;
        this.born=born;
    }
    var bill = new employee("Bill Gates","Engineer",1985);
    console.log(bill.toSource())
    //({name:"Bill Gates", job:"Engineer", born:1985})
    

    12.booleanObject.toString()

    var boo = new Boolean(true);
    console.log(boo.toString());      //返回的是字符串true
    
    返回值根据原始布尔值或者 booleanObject 对象的值返回字符串 "true""false"。
    如果调用该方法的对象不是 Boolean,则抛出异常 TypeError。
    

    13.object.toLocalString

    var d = new Date()
    document.write(d.toLocaleString())
    //本地时间把 Date 对象转换为字符串,并返回结果。
    
    var boo = "123";
    console.log(boo.toString());
    //输出:123。
    
    var arr1 = new Array();
    arr1 = [["中猫猫er", "E7555大号", "包背带", "150", "0.16"], ["卜要见、卜要贱", "CA0913大", "包背垫", "333", "0.18"]];
    console.log(arr1.toLocaleString())
    //中猫猫er,E7555大号,包背带,150,0.16,卜要见、卜要贱,CA0913大,包背垫,333,0.18
    

    14.unshift()

    var a=[1,2,3,4,5];
    var b=a.unshift(0)  //a=[0,1,2,3,4,5],b=6  原数组改变,返回数组的长度
    

    15.valueOf()

    var boo = new Boolean(false);
    console.log(boo.valueOf());   //返回false
    返回值为booleanObject 的原始布尔值。如果调用该方法的对象不是 Boolean,则抛出异常 TypeError。
    

    转载请注明出处!

    展开全文
  • WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 shitoujiandaobu 小程序:石头剪刀布(附代码说明) audiodemo 微信小程序开发之视频播放器 Video 弹...
  • 用户发送的消息都可以在小程序后台的“客服”里收到,当你绑定了客服人员,可以在微信里收到推行消息。 也可以自己配置服务器,配置环境来实现客服会话 自定义组件 为了更灵活的页面布局,需要自定义...
  • 微信小程序云开发——常用功能2:操作云数据库一键批量导入数据(导入json文件) 今天我们要添加100条数据。下面的过程是先创建一条记录,然后导出这条数据看json文件中是如何编辑字段的,然后仿照这个格式添加其他...
  • 从今天开始就来带领大家学习微信小程序了,只要你跟着我一步步来,相信你也可以上线一款属于自己的微信小程序 一,认识小程序 微信⼩程序,简称⼩程序,英⽂名 Mini Program Mini Program ,是⼀种不需要下载安装...
  • 《微信小程序》微信小程序开发实例

    千次阅读 多人点赞 2018-04-19 13:44:14
    WXCustomSwitch 微信小程序自定义 Switch 组件模板 WeixinAppBdNovel 微信小程序demo:百度小说搜索 shitoujiandaobu 小程序:石头剪刀布(附代码说明) audiodemo 微信小程序开发之视频播放器 Video 弹幕 弹...
  • 微信小程序调研文档

    千次阅读 2017-01-14 12:35:14
    关于微信小程序之前只是听说,并没有引起我太大的兴趣。周一被小程序刷屏,然后就顺手搜索了解了一下。发现小程序已经火遍了整个程序员圈子。刚好团队内部有个需求需要微信小程序。就紧急对微信小程序进行了调研,...
  •  对于前端开发而言,微信小程序因为其简单快速、开发成本低、用户流量巨大等特点,也就成了前端开发工程师必会的一个技能。  2.开发准备:  (1)有人开玩笑说,会vue小程序根本都不用学:  微信小程序虽然是...
  • wxml: 最近搜索 {{hisItem}} 清空搜索历史 wxss: .search_history { height: auto; width: 95%; position: relative; background-color: #fff; border-radius: 5rpx; fon...
  • 微信小程序实现历史搜索记录的本地储存和删除

    万次阅读 多人点赞 2018-07-19 16:06:38
    提交表单时的函数 ,这里是动态改变json数组的某个健值的话在小程序里应用整体赋值的方法,强迫症,输入为空时不把他放到历史纪录里,可以做一些其它跳转处理,这里我只显示最新的五条,不为空且小于五时,直接放到...
  • 前端与移动开发----微信小程序----小程序(一)

    千次阅读 多人点赞 2021-04-17 09:50:28
    微信小程序
  • 6)小程序升级问题,官方文档说会自动更新,实际情况往往是要先把原来的小程序删除掉,重新搜索添加,才能加载最新版本; 新版本提供了wx.getUpdateManager小程序版本更新管理器,开发人员可以通过api管理小程序更新...
  • 微信小程序 谈谈在大学初次写项目的体验

    万次阅读 多人点赞 2020-03-20 09:34:59
    说明:笔者重新规划了博客方向,想更详细的讲解微信小程序的所有技术内容,本文于2020年5月24日已做修改。... 笔者会出一个CSDN的微信小程序专栏,详细讲解微信小程序常用技术,欢迎朋友们来关注!
  • Python常用程序调试方法

    千次阅读 2017-11-17 16:01:01
    程序能一次写完并正常运行的概率很,基本不超过1%,总会有各种各样的bug需要修正。有的bug很简单,看看错误信息就知道,有的bug很复杂,我们需要知道出错时,哪些变量的值是正确的,哪些变量的值是错误的,因此,...
  • 小程序数据缓存机制应用

    千次阅读 2021-04-02 07:36:28
    数据缓存:缓存数据,从而在小程序退出后再次打开时,可以从缓存中读取上次保存的数据,常用的数据缓存API如下表所示: 注意:将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动...
  • 如何快速开发一个自己的微信小程序

    万次阅读 多人点赞 2018-07-18 01:15:24
    1.为什么要学小程序开发? &nbsp; &nbsp; 对于前端开发而言,微信小程序因为其简单快速、开发成本低、用户流量巨大等特点,也就成了前端开发工程师必会的一个技能。 &nbsp; 2.先看看小程序效果 (1...
  • 微信小程序源码案例大全

    千次阅读 多人点赞 2018-08-21 16:18:41
    微信小程序demo:足球,赛事分析 小程序简易导航 小程序demo:办公审批 小程序Demo:电魔方 小程序demo:借阅伴侣 微信小程序demo:投票 微信小程序demo:健康生活 小程序demo:文章列表demo 微商城(含微信...
  • 小程序开发中遇到的问题—汇总

    万次阅读 多人点赞 2018-04-07 22:33:27
    小程序面试题 1.bindtap和catchtap的区别是什么? bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡 2.Js数组转成换字符串,强制转换成整数及转换成浮点数的函数分别是什么? js...
  • 小程序即时通讯聊天控件(一)

    万次阅读 多人点赞 2017-11-06 12:21:52
    小程序即时通讯——文本、语音输入控件(一)集成近期一直在做微信小程序,业务上要求在小程序里实现即时通讯的功能。这部分功能需要用到文本和语音输入及一些语音相关的手势操作。所以我写了一个控件来处理这些操作...
  • 微信小程序-收货地址左滑删除

    千次阅读 2018-09-10 13:59:59
    一、用相对定位和绝对定位,列表放在上层,删除按钮放在下层(z-index不要为负)。 二、触摸事件判断用户是否左滑,有 bindtouchstart,bindtouchmove,bindtouchend 三个触摸事件。  1、bindtouchstart 记录触摸...
  • 微信小程序案例集合

    千次阅读 2018-03-11 14:44:24
    wx-gesture-lock 微信小程序的手势密码WXCustomSwitch 微信小程序自定义 Switch 组件模板WeixinAppBdNovel 微信小程序demo:百度小说搜索shitoujiandaobu 小程序:石头剪刀布(附代码说明)audiodemo 微信...
  • 微信小程序源码大全

    万次阅读 多人点赞 2018-02-06 10:36:02
    微信小程序官方Demo(Hao-Wu/WeApp-Demo)微信小应用示例代码(phodal/weapp-quick)微信小应用地图定位demo(giscafer/wechat-weapp-mapdemo)微信小应用- 掘金主页信息流(hilongjw/weapp-gold)微信小程序(应用号)示例...
  • 微信小程序布局技巧(二)

    千次阅读 多人点赞 2019-04-28 16:14:54
    微信小程序布局技巧(二)前言POSITION(定位)常用的定位属性值staticrelativeabsolutefixed定位元素元素层级应用尾巴 前言 在上一篇文章中:微信小程序布局技巧(一),我给大家介绍了微信小程序(后面统称小程序...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 479,254
精华内容 191,701
关键字:

常用小程序怎么删除