精华内容
下载资源
问答
  • 东航机票购买小程序模板源码下载.zip
  • 爱卡汽车在线汽车销售购买小程序源码.zip
  • 为进一步了解和探索微信小程序在点餐系统中的潜在价值和意义,本文通过使用 Javascript 技术、Spring boot、vue、WXML、WXSS 等技术,开发了基于微信小程序的茶叶购买系统,实现了浏览商品、下单结算、分享等功能,...
  • 2商品购买小程序.py

    2020-03-11 21:02:59
    设计一个程序,完成(英雄)商品的购买 展示商品信息(折扣)->输入商品价格->输入购买数量->提示付款 输入付款金额->打印购买小票(扩展)
  • 简介:个人想自己开发一个小程序玩一下,由于我是后台,前端很久没有接触了,所以想用最简单最快捷的方式去完成这个小程序,然后就了腾讯云的小程序解决方案, 自己做的时候发现没有什么相关博客是的这个,所以...

    简介:个人想自己开发一个小程序玩一下,由于我是后台,前端很久没有接触了,所以想用最简单最快捷的方式去完成这个小程序,然后就买了腾讯云的小程序解决方案,
        自己做的时候发现没有什么相关博客是买的这个,所以自己也记录一下,方便有同样需求的同学。这个解决方案是前端+后台都可以在开发者工具中开发。
    1.申请小程序
    https://mp.weixin.qq.com/cgi-bin/wx,按步骤来就可以了。
    2.接入腾讯云解决方案
    进入微信公众平台>设置>第三方服务>腾讯云(点击开通),然后按流程开通后,会有一个免费的开发环境。

    像这样,由于后台目前只支持PHP和NODE.js,然后我后台用的是node.js+mysql,也是第一次接触node.js。。。数据库和一些问题的文档 腾讯云这个页面下面都有
    3.使用开发者工具开发
    接入腾讯云后,打开开发者工具在空目录上新建项目的时候可以选择快速创建node.js模板项目

    腾讯云里面也有相关文档,模板项目里也有readme可以看一下,根据文档修改host、数据库配置等等。

    项目结构:

    项目结构如上图,client为小程序前端代码,点击开发者工具上传按钮就是上传前端代码。


    server表示后端代码,点击腾讯云按钮,里面有 上传测试代码 表示上传后台代码到服务器。
    4.后台开发接口
    我是用到了数据库,首先得连接上mysql,单独配置了一个文件出来作为连接数据库对象。

    const { mysql: config } = require('./config')
    const DB = require('knex')({
      client: 'mysql',
      connection: {
        host: config.host,
        port: config.port,
        user: config.user,
        password: config.pass,
        database: config.db,
        charset: config.char,
        multipleStatements: true
      },
      debug: true, //指明是否开启debug模式,默认为true表示开启
      pool: { //指明数据库连接池的大小,默认为{min: 2, max: 10}
        min: 1,
        max: 7,
      }
    })
    module.exports = DB

    这个解决方案连数据库用的knex.js,可以百度搜knex.js文档,查看操作数据库的用法,
    以上代码将DB对象导出后,在别的js里面就可以导入使用了,以下是我的一个例子:

    const DB = require('../dbConf')
    const getLists = async ctx => {
      let params = ctx.request.body;
      console.log('getLists入参:', params)
      await DB.select('id', 'user_id', 'item_name', 'item_image', 'item_time', 'amount', 'create_time').from('bill').where('user_id', params.userId).orderByRaw('item_time DESC').limit(params.pageSize).offset(params.startRow * 1)
      .then((res) => {
        console.log('getLists出参:', res)
        ctx.state.data = {
          msg: 'success',
          res,
          params
        }
      })
    }
    const insertBill = async ctx => {
      let params = ctx.request.body;
      console.log('insertBill入参:', params)
      await DB.insert({ user_id: params.userId, item_name: params.itemName, item_image: params.itemImage, item_time: params.itemTime, amount: params.amount, create_time: new Date(), item_date: params.itemDate}).into('bill').then((res) => {
        console.log('insertBill出参:', res)
        ctx.state.data = {
          msg: 'success',
          res,
          params
        }
      })
    }
    
    module.exports = {
      getLists,
      insertBill
    }

    查询列表和插入列表,最后导出方法,然后将地址配置好,以下是配置地址:

    配置好地址之后,前端client里就可以调用了,以下是前端调用例子,先写一个api.js(名字随意),

    const {host:host} = require('./config.js')
    
    wx.setStorageSync('loginState', 0);
    const wxRequest = (params, url, type = 'application/x-www-form-urlencoded') => {
      console.log('调用后台接口参数:',params)
    	if (!params.noNeedShow) {
    		wx.showLoading({
    			title: '加载中...',
    		})
    	}
    
      var data = params.data
    	
    	wx.request({
    		url,
    		method: params.method || 'POST',
    		data: data,
    		header: {
    			'Accept': 'application/json',
    			'Content-Type': type,
    		},
    		success(res) {
    			console.log('调用后台接口结果:',res)
    			if (res && res.data && (0 == res.data.code)) {
    				
    				params.success(res.data.data, res.data);
    			} else if (res && res.data && (0 != res.data.code)) {
    				
            console.log('调用接口code不为0,异常',res.data)
    				params.success(res.data.data);
            params.fail(res.data);
    			
    			} else {
    				params.success(res.data.data);
    				params.fail(res.data);
    			}
    		},
    		fail(res) {
    			console.log(res)
    			if (params.fail) {
    				params.fail(res);
    			} else {
    				
    			}
    		},
    		complete(res) {
    			if (!params.noNeedShow) {
    				wx.hideLoading()
    			}
    			if (params.complete) {
    				params.complete(res);
    			}
    		},
    	});
    };
    
    const getBillList = (params) => {
      wxRequest(params, `${host}/weapp/demo/getLists`);
    };
    const insertBill = (params) => {
      wxRequest(params, `${host}/weapp/demo/insertBill`);
    };
    const updateBillImage = (params) => {
      wxRequest(params, `${host}/weapp/demo/updateBillImage`);
    };
    const deleteOneBill = (params) => {
      wxRequest(params, `${host}/weapp/demo/deleteOneBill`);
    };
    const getHistoryTotal = (params) => {
      wxRequest(params, `${host}/weapp/demo/getHistoryTotal`);
    };
    const getHistoryTotalByMonth = (params) => {
      wxRequest(params, `${host}/weapp/demo/getHistoryTotalByMonth`);
    };
    
    const getPhotos = (params) => {
      wxRequest(params, `${host}/weapp/photo/getPhotos`);
    };
    const insertPhoto = (params) => {
      wxRequest(params, `${host}/weapp/photo/insertPhoto`); 
    };
    const deletePhoto = (params) => {
      wxRequest(params, `${host}/weapp/photo/deletePhoto`); 
    };
    const saveUserInfo = (params) => {
      wxRequest(params, `${host}/weapp/user/saveUserInfo`);
    };
    
    
    module.exports = {
      getBillList,
      saveUserInfo,
      insertBill,
      updateBillImage,
      deleteOneBill,
      getPhotos,
      insertPhoto,
      deletePhoto,
      getHistoryTotal,
      getHistoryTotalByMonth
    };

    这个是前端调用接口的一个js,所有的接口都通过wx.requert()方法来调用,然后将调用的方法导出,在别的前端js里就可以统一导入api.js来使用,以下是调用例子:

    // pages/history/history.js
    var qcloud = require('../../vendor/wafer2-client-sdk/index')
    var config = require('../../config')
    var util = require('../../utils/util.js')
    let api = require('../../api')
    Page({
    
      /**
       * 页面的初始数据
       */
      data: {
          list:[],
          onDay:true,
          userId:'',
          backImage:''
      },
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        
        console.log('onLoad,userId = ', options.userId)
        this.setData({
        onDay: (options.onDay == "false" ? false : true),
        backImage: options.backImage,
          userId: options.userId
          // userId:54
        })
        this.getHistoryTotal(options.userId);
      },
      getHistoryTotal: function () {
        var that = this;
        let userId = that.data.userId;
        api.getHistoryTotal({
          data: { userId },
          noNeedShow: true,
          success: (data) => {
            console.log('调用统计账单接口成功状态:', data)
            let result = data.res
            for (let j = 0; j < result.length; j++) {
              if (result[j].item_date != null){
                result[j].item_date = util.formatDate(new Date(result[j].item_date))
              }
            }
            that.setData({
              list : result
            })
            // that.data.list = result;
            console.log('列表',that.data.list)
          },
          fail: (error) => {
            console.log('调用统计账单接口失败:', error)
          }
        })
      }
    })

     以上例子通过api.getHistoryTotal({})调用api.js里的getHistoryTotal方法查询数据库。
    后台接口写完记得腾讯云>上传测试代码,然后通过前端调用,可以看到效果。
    由于写的不太好,如果觉得看得不清晰,可以直接把源码下载下来对应着看,源码地址:https://git.coding.net/shimedoukeyidia/zhuzi_home.git,有问题欢迎评论沟通。

     
    展开全文
  • 开发工具:微信开发者工具 后台开发工具:phpstorm 数据库:mysql8.0 数据库管理工具:navicat  ...如何发布后台管理系统 如何设置微信小程序,注意事项 后台管理员功能操作演示 小程序功能操作演示  
  • 贝贝在线好货购买微商城小程序.zip
  • 房屋购买与出租小程序源码模板下载.zip
  • 免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
  • 微信小程序开发【前端+后端(java)】

    万次阅读 多人点赞 2018-07-13 22:19:46
    现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的...
    1. 前言
      现在微信小程序越来越火了,相信不少人都通过各种途径学习过微信小程序或者尝试开发,作者就是曾经由于兴趣了解开发过微信小程序,最终自己的毕业设计也是开发一个微信小程序。所以现在用这篇博客记录我之前开发的一些经验和一些心得吧。

    2. 主要内容
      springboot后端架构构建
      小程序项目构建
      小程序api调用
      后台resetful接口编写
      小程序调用后台接口
      免费的https申请
      linux下部署上线

    3. 微信小程序项目构建
      这些基础的东西我就不过多介绍,大家在刚开始开发的时候一般都没有自己的服务器及域名,所以大家在本地编写的时候,在“详细”下的“项目设置”里面将“不校验域名安全性”勾选。这里写图片描述
      至于微信小程序的组件,即前端页面的开发希望大家耐住寂寞认真在微信开发平台上,组件https://developers.weixin.qq.com/miniprogram/dev/component/及api:https://developers.weixin.qq.com/miniprogram/dev/api/

    4. 后端详解
      我在后端编写主要是用java,当然对其他开发语言熟悉的也可以使用其他语言开发后端。现在我就java编写后端api的讲解。主要框架springboot,开发工具myeclipse,服务器阿里云服务器。
      创建一个maven项目,导入相关依赖:
      pom.xml依赖

        <!-- 统一版本控制 -->
    	<parent>
    		<groupId>org.springframework.boot</groupId>
    		<artifactId>spring-boot-starter-parent</artifactId>
    		<version>1.5.9.RELEASE</version>
    	</parent>
    	<dependencies>
    		<!-- freemarker渲染页面 -->
    		<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-freemarker -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-freemarker</artifactId>
    		</dependency>
    
    		<!-- spring boot 核心 -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    		</dependency>
    
    		<!-- springboot整合jsp -->
    		<!-- tomcat 的支持. -->
    		<dependency>
    			<groupId>org.springframework.boot</groupId>
    			<artifactId>spring-boot-starter-web</artifactId>
    			<exclusions>
    				<exclusion>
    					<groupId>org.springframework.boot</groupId>
    					<artifactId>spring-boot-starter-tomcat</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.tomcat.embed</groupId>
    			<artifactId>tomcat-embed-jasper</artifactId>
    		</dependency>
    	</dependencies>
    

    在配置文件src/main/resources/下创建application.properties文件可以修改一些配置参数等。

    #jsp支持
    spring.mvc.view.suffix=.jsp
    spring.mvc.view.prefix=/WEB-INF/jsp/
    #this is set port
    #server.port=80
    server.port=443
    #添加ssl证书
    #ssl证书文件名
    server.ssl.key-store=classpath:xxxxxxx.pfx
    server.ssl.key-store-password=xxxxxxxx
    server.ssl.keyStoreType=xxxxxxxx
    

    在实际项目中可能涉及数据库,还要整合mybatis,在文章中,我仅仅做测试就不做使用数据库的测试。
    首先创建springboot的入口程序:app.class下面贴上代码:

    @ComponentScan(basePackages= "com.bin")//添加扫包@ComponentScan(basePackages= "")
    @EnableAutoConfiguration
    public class App{
    
    	//启动springboot
    	public static void main(String[] args) {
    		SpringApplication.run(App.class, args);
    	}
    }
    

    启动项目时直接右击run即可。
    在写一个测试的controller进行微信小程序与java后端实现通信,controller代码如下:

    @RestController
    @SpringBootApplication
    public class ControllerText {
    	
    	@RequestMapping("getUser")
    	public Map<String, Object> getUser(){
    		System.out.println("微信小程序正在调用。。。");
    		Map<String, Object> map = new HashMap<String, Object>();
    		List<String> list = new ArrayList<String>();
     		list.add("zhangsan");
     		list.add("lisi");
     		list.add("wanger");
     		list.add("mazi");
     		map.put("list",list);
    		System.out.println("微信小程序调用完成。。。");
    		return map;
    	}
    	
    	@RequestMapping("getWord")
    	public Map<String, Object> getText(String word){
    		Map<String, Object> map = new HashMap<String, Object>();
    		String message = "我能力有限,不要为难我";
    		if ("后来".equals(word)) {
    			message="正在热映的后来的我们是刘若英的处女作。";
    		}else if("微信小程序".equals(word)){
    			message= "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。";
    		}else if("西安工业大学".equals(word)){
    			message="西安工业大学(Xi'an Technological University)简称”西安工大“,位于世界历史名城古都西安,是中国西北地区唯一一所以兵工为特色,以工为主,理、文、经、管、法协调发展的教学研究型大学。原中华人民共和国兵器工业部直属的七所本科院校之一(“兵工七子”),陕西省重点建设的高水平教学研究型大学、陕西省人民政府与中国兵器工业集团、国防科技工业局共建高校、教育部“卓越工程师教育培养计划”试点高校、陕西省大学生创新能力培养综合改革试点学校。国家二级保密资格单位,是一所以\"军民结合,寓军于民\"的国防科研高校。";
    		}
    		map.put("message", message);
    		return map;
    	}
    	
    	@RequestMapping("")
    	public String getText(){
    		return "hello world";
    	}
    
    
    }
    

    至此简易的后端框架及测试基本完成。
    说明:@RestController与@Controller注解的区别@RestController相当于两个注解,它能实现将后端得到的数据在前端页面(网页)中以json串的形式传递。而微信小程序与后台之间的数据传递就是以json报文的形式传递。所以这就是选择springboot框架开发小程序后端的主要原因之一。可以方面我们进行小程序的后端开发。

    1. 小程序发起网络请求
      在完成了小程序的后端开发,下面进行小程序端发起网络请求。
      下面以一个简单的按钮请求数据为例:
      wxml文件
    <button bindtap='houduanButton1'>点击发起请求</button>
    <view wx:for="{{list}}">
        姓名:{{item}}
      </view>
    
    js文件
    
     /**
       * 页面的初始数据
       */
      data: {
        list: '',
        word: '',
        message:''
    
      },
      houduanButton1: function () {
        var that = this;
        wx.request({
          url: 'http://localhost:443/getUser',
          method: 'GET',
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: function (res) {
            console.log(res.data)//打印到控制台
            var list = res.data.list;
            if (list == null) {
              var toastText = '数据获取失败';
              wx.showToast({
                title: toastText,
                icon: '',
                duration: 2000
              });
            } else {
              that.setData({
                list: list
              })
            }
          }
        })
      }
    

    主要调用的api就是wx.request,想知道将详细的介绍大家可以去微信公众平台
    接下来以搜索类型的请求为例:
    wxml文件:

     <input type="text" class="houduanTab_input" placeholder="请输入你要查询的内容" bindinput='houduanTab_input'></input>
      <button bindtap='houduanButton2'>查询</button>
      <view wx:if="{{message!=''}}">
        {{message}}
      </view>
    

    js文件:变量的定义见上一个js文件

    //获取输入框的内容
      houduanTab_input: function (e) {
        this.setData({
          word: e.detail.value
        })
      },
      // houduanButton2的网络请求
      houduanButton2: function () {
        var that = this;
        wx.request({
          url: 'http://localhost:443/getWord',
          data:{
            word: that.data.word
          },
          method: 'GET',
          header: {
            'content-type': 'application/json' // 默认值
          },
          success: function (res) {
            console.log(res.data)//打印到控制台
            var message = res.data.message;
            if (message == null) {
              var toastText = '数据获取失败';
              wx.showToast({
                title: toastText,
                icon: '',
                duration: 2000
              });
            } else {
              that.setData({
                message: message
              })
            }
          }
        })
      }
    

    至此已经完成了简易的微信小程序端与java后端进行通信。
    现在可以在启动后端项目在微信开发工具上进行测试。
    演示效果:
    这里写图片描述
    这里写图片描述
    所以至此已经完成了小程序的前后端通信。

    1. https申请
      其实也不算什么申请,在购买域名之后可以申请免费的ssl证书,在前面的配置文件application.properties中有证书的配置,将证书的pfx文件直接添加到后端项目下即可。
    2. 购买服务器部署后端api代码
      对于springboot项目,本人建议打jar,直接在服务器上部署即可,在服务器上只需要安装对应版本的jdk即可。项目部署命令:
      我购买的是阿里云的轻量级应用服务器部署的。比较划算吧。
    运行命令: nohup java -jar helloworld.jar &
    

    nohup的意思不挂服务,常驻的意思,除非云服务器重启,那就没法了;最后一个&表示执行命令后要生成日志文件nohup.out。
    当然还可以使用java -jar helloworld.jar

    源码:链接: https://pan.baidu.com/s/1PfByFfEgqkVALcc3PRhn9w 提取码: c7yf

    结束语:由于时间篇幅问题,本人介绍的内容很有限,希望对这方面有兴趣的你能有帮助。共同进步。
    觉得有帮助,给个赞赏吧。给赞赏的优先同意qq或者微信,问问题秒回复等[滑稽],谢谢老铁。
    在这里插入图片描述

    展开全文
  • 使用eclipse工具开发,ssh框架,mysql数据库,微信小程序开发者工具,设计到的功能有:商品分类管理、商品管理、订单管理、留言管理、会员管理等功能
  • 说到微信小程序的创立初衷,线下门店绝对是应用的大场景,...2. 浏览购买小程序提供的线上服务 3. 留存用户,后期可与用户线上互动,增强用户粘性 即:通过线下导流到线上,线上购买服务,线下体验和享受服务,通过.

    说到微信小程序的创立初衷,线下门店绝对是应用的大场景,也符合小程序“用完即走”的理念。从这一两年的发展来看,多个小程序爆款也出自门店小程序,如周*鸭、*巴克以及奶茶店小程序等等。门店小程序的研发需求和使用需求都很大,下边我们就具体讲讲门店小程序的应用场景及研发过程。

     

    一、场景

    1. 场景化消费的同时,用户可扫描桌上的二维码,快速展现小程序系统

    2. 浏览购买小程序提供的线上服务

    3. 留存用户,后期可与用户线上互动,增强用户粘性

    即:通过线下导流到线上,线上购买服务,线下体验和享受服务,通过小程序完美实现O2O模型

     

    二、研发需求

    对于中小型商户来讲,并不需要一开始就做一个大而全的门店小程序,涵盖线上-线下使用的各个各个场景,仅先使用最基础的几个功能即可:

    小程序前端功能:

    1.点餐功能:商品分类和展示,展示商品详情,包含商品名称、已销售的数量、价格等,用户点击,可直接进行购买;

    2.订单:用户可查看到自己的订单情况,订单详情和进展;

    3.店铺介绍:包含图文等形式的店铺内容详细介绍;

    4.人工客服:接入人工客服,及时解答用户问题。

    管理后台功能:

    1.商品管理:商品的上传、图文介绍以及价格设置等;

    2.店铺管理:门店的详情介绍、编辑

    3.订单管理

    4.用户管理

     

    三、开发

    1.前端开发可参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/index.html?t=18080816

    2.后端开发使用Node后端

     

    四、效果图

    1.点餐和订单

    2.店铺介绍

    展开全文
  • 拉帮结派在线拼团内衣内裤销售购买微信商城小程序.zip
  • 微信在线购买电影票小程序,是一个运行于微信小程序环境下的电影售票小程序,本程序主要从远端服务器获取电影售票信息,形成列表,并提供购票接口,让用户可以在微信里订购某个电影的电影票,并且程序提供电影院查询...
  • 机器人展品商品详情销售购买详情页样式布局小程序模板.zip
  • 如何学习微信小程序? 学习微信小程序所需基础

    万次阅读 多人点赞 2020-03-30 16:23:19
    小程序是一种新的开放能力,开发者可以快速地开发一个小程序小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 说的通俗一些,微信小程序就是微信中非常小巧的程序(这不废话......),我们打开...

    说明:笔者重新规划了博客方向,想更详细的讲解微信小程序的所有技术内容,本文于2020年5月24日已做修改。

    同时笔者也欢迎一起合作共赢,愿意写杂志,写书,贡献自己的一份微薄之力!


    本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/105198163 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段内容,尤其是脚本之家、码神岛等平台,谢谢配合。


    作为第二篇的讲解,本文主要讲解 

    1. 微信小程序好在哪里?
    2. 学习微信小程序,需要什么基础?
    3. 如何学习微信小程序?
    4. 微信小程序的基本架构。

     

    前言

    微信小程序作为近几年“微服务”的杰出代表,应用十分广泛。小程序是一种新的开放能力,开发者可以快速地开发一个小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。

    说的通俗一些,微信小程序就是微信中非常小巧的程序(这不废话......),我们打开自己手机中的微信,向下一拉,就可以看到小程序列表了。比如“腾讯QQ”这个小程序,我们可以利用它,接收QQ的消息;再入“跳一跳”,“天天象棋”这些小游戏,我们可以利用学习工作之余的短暂空闲时间玩上一把小游戏......那么,为什么微信小程序能够有如此大的发展呢?现在就来谈谈我的看法。

    笔者曾经在运维微信公众号的时候,发现了小程序的存在,后来就申请了一个,尝试着开发出了第一个属于自己的小程序。从无到有,再到现在的实战开发,虽然敲的代码都是套模板,思路也很暴力,但平时还是会积累很多小程序相关的实践经验和做一些基于微信小程序的开源项目,所以说总结微信小程序的项目经验,我觉得是我最好的成长,也希望给今年想接触微信小程序或者想从事微信小程序工作的朋友带来一些经验和思考


     

    一:小程序优势有哪些?

     

    1.几乎不占用手机内存

    如果你的电脑是低配的话,那么你就必须要合理取舍安装的软件。笔者曾经拿学校机房的电脑做过简单实验,我给电脑安装若干杀毒软件,然后同时开始体检、木马扫描操作。实验结论:只需两个杀毒软件同时体检、杀毒操作就会导致死机,2分钟内鼠标键盘无响应且电脑无法正常工作;四个杀毒软件同时体检,电脑大概率蓝屏

    电脑为什么会死机,会蓝屏?就是因为电脑资源耗尽。同理,你如果给自己的手机装上几十个APP,效果可想而知。微信小程序几乎不占用系统内存,能给用户,尤其是低配手机用户一个良好的体验

     

    2.无需安装,用完即走

    最近因为新型冠状病毒,全国大多数学生都在参与网上教学,这个时候会涉及到很多APP。当然常用的APP,安装在手机,完全没问题,但是那些不常用的、不太需要的如何是好?比如在大学,充饭卡一个APP,冲热水卡一个APP,跑步一个APP,看新闻做题也是一个APP,要请个假也是一个APP,可能还是学校强制要求安装的,大家是否吐槽过这种行为?

    而微信小程序是建立在微信这个大平台的应用,使用时被打开,使用完毕就消失,而且随时都可被使用,做到了“用时打开,用完即走。当然小程序还有其他优点,这里不再一一叙述。

     

    继续阅读,你将会了解到这些

    • 微信小程序需要的基础

    • 微信小程序优势以及设计思想

    • 如何学习微信小程序

    • 微信小程序开发流程


     

    二:学习微信小程序,需要什么基础?

    阅读本文之前,建议大家最好要有以下基础知识,会写小程序的代码不一定能很好的实现业务需求和功能,要想实现不同项目需求下不同复杂度的逻辑,一定要对以下基础有充足的了解。所以在此希望大家先熟悉一下相关基础知识,好好研究一下。

    • HTML:至少常用的标签要学会使用,比如<button>按钮标签,<text>文本标签,要知道一些标签是干什么用的。
    • CSS:了解类选择器、标签选择器定义和用法;了解常用的属性,比如height高度,width宽度,font-size字体大小等。
    • 熟练一种编程语言:java/js/c++皆可,这里主要是要熟练变量定义、if条件判断、字符数组。
    • 其他:相对/绝对路径,了解JSON格式,生命周期函数

     

    三:如何学习小程序?

     

    我个人认为,学习最快的方式就是实践,根据官方文档,多写几个demo是就是学习微信小程序最好的方式。

    • 学习前端基础,包括但不限于HTML + CSS + JS + JQ。
    • 学习小程序基础语法,了解小程序基本结构(JS、JSON、WXML、WXSS)。
    • 实战,写项目。

    初学者需要注意几点:

    • 小程序不像vue那样,修改代码按下保存后,网页上会立刻见效。每一次修改代码后,如需看效果,必须重新编译或者按Ctrl + S 保存,然后等待模拟器重新加载主页,才可查看修改后的效果。
    • 要善于调用模板或者接口,切忌大片自行编程。如果需要实现某个功能,先查询一下官网文档,是否有相应的模板或库。
    • 如果是需要对接数据库的项目,必须在开发前购买服务器,实名认证且备案,小程序开发时间一般少于服务器审核时间(对于小项目来讲),小程序请求的地址必须是已备案的域名。
    • 不要使用传统编程思想来看待小程序开发,小程序不像Java那样可以随心应手的写,其部分功能未必能够实现。

     

    四:小程序项目的基本文件类型

     

    首先是开发工具!

    磨刀不误砍材工,要想高效率的开发,必须要熟练使用开发工具(IDE)。下面我们先来了解一下微信小程序的专属开发工具。

    官网下载地址:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

    第一块区域是模拟器区域,是我们代码效果的直接显示,按下CTRL + S 或者编译键,模拟器区域会刷新显示我们的界面。

    第二块区域是项目结构一个小程序主体部分由三个文件组成,必须放在项目的根目录,分别是:JS(小程序逻辑)、JSON(小程序公共配置)、WXSS(小程序公共样式表)每个分页面分为JS(页面逻辑)、JSON(页面配置)、WXML(页面结构)、WXSS(页面样式表)四个模块,且描述页面的四个文件必须具有相同的路径与文件名。

    第三块区域就是我们编写代码的区域,占用了大部分的屏幕。

    第四块区域是调试区域,小程序可以通过console.log()向控制台输出临时的信息,就相当于C++的cout<<"hello zwz"<<endl; 也相当于Java的syso。这时候这些临时信息会在这个区域显示,方便我们调试程序。

    第五块区域就是常用的功能模块,这里点击编辑,代码区会自动保存,模拟器会重新加载界面;点击上传代码,会发送到微信公众平台上,然后用于发布小程序。


    其中第二块区域的项目结构,我们重点介绍

    第一块:JSON

    上面提到:每个分页面分为JS(页面逻辑)、JSON(页面配置)、WXML(页面结构)、WXSS(页面样式表)四个模块那么这些页面分别都有什么用途呢?

    JSON是页面配置文件,可以对本页面的窗口表现进行配置,文件内容为一个 JSON 对象,会涉及到很多的属性。

    比如navigationBarTitleText 就是显示在小程序最上方的标题名称。

    页面中配置项在当前页面会覆盖总的app.json的中相同的配置项。

    {
      "navigationBarBackgroundColor": "#ffffff",
      "navigationBarTextStyle": "black",
      "navigationBarTitleText": "标题zwz",
      "backgroundColor": "#eeeeee",
      "backgroundTextStyle": "light"
    }

    第二块:WXML

     

    WXML其实就是HTML,是框架设计的一套标签语言,结合基础组件、事件系统,可以构建出页面的结构。

    比如最常用的双向数据绑定

    index.wxml

    <view class="container">
      {{msg}}
    </view>

    index.js

    Page({
      data: {
        msg:'hello zwz',
      },
      onLoad: function () {
       
      }
    })

    这样,我们虽然在WXML界面没有直接写文字,但{{msg}}就直接读取到了JS文件的变量值。

    这时,我们按下CTRL + S(保存,重新编译),我们会发现前台会渲染出  hello zwz。

    这就是传说中的双向数据绑定,你把JS后台的 hello zwz  改成 hi zwz,那么前台也会显示 hi zwz,以此类推。

     

    同理,如果是数组

    在JS页面的Page的data下,加上array变量,作为普通数组

    array:[1,2,3,4,5,6,7,8,9],

    接着将WXML界面的msg替换成array,界面则会显示如下:


    本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/105198163 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段内容,尤其是脚本之家、码神岛等平台,谢谢配合。 


    第三块:WXSS

    WXSS和CSS一样,是一套样式语言,用于描述 WXML 的组件样式,WXSS 用来决定 WXML 的组件应该怎么显示。WXSS在实际开发过程中,拥有绝大部分CSS的内容。

    那么相比CSS而言,WXSS中独有的rpx单位可能会用得到,这个尺度单位可以根据屏幕宽度进行自适应。

    具体格式如下所示,下面是用了类选择器对WXML中的元素进行样式美化。

    .title{
      font-size: 30px;
      color: royalblue;
    }
    .input-placeholder{
      font-size: 16px;
    }
    .section{
      width: 100%;
      height: 55px;
      box-sizing: border-box;
      padding-top: 15px;
      font-size: 16px;
      display: flex;
    }

    第四块:JS

    这一块毫无疑问,就是用来存放后端逻辑代码的,我们需要掌握几个常用的生命周期函数,onShow、onLoad。

    Page({
      data: {
        msg: "hello zwz"
      },
      onLoad: function(options) {
        // 页面创建时执行
      },
      onShow: function() {
        // 页面出现在前台时执行
      },
      onReady: function() {
        // 页面首次渲染完毕时执行
      },
      onHide: function() {
        // 页面从前台变为后台时执行
      },
      onUnload: function() {
        // 页面销毁时执行
      },
    })

    然后就是自定义方法,注意是和onLoad()平级

    比如,我们在WXML内定义一个按钮

    <button bindtap="run">按钮1</button>
    

    接着,在JS页面编写响应事件

    Page({
      data: {
        msg: "hello zwz"
      },
      onLoad: function(options) {
        // 页面创建时执行
      },
      run: function() {
        // do some things
      },
    })

    那么,我们在点击这个按钮之后,就会触发run()这个方法。

     

    五:总结

    总而言之,本文讲解了微信小程序项目的基本架构,以及如何学习微信小程序,以及学习微信小程序所需要的基础,还有前台渲染的基本代码。

    笔者会出一个微信小程序的专栏,详细讲解微信小程序的常用技术,谢谢朋友们的关注!

    展开全文
  • 购买源码 ...这里都是基于Bmob后端云开发的完整项目,购买后即可获得项目源码,云数据库表设计和说明文档。 ...购买源码后自动在Bmob控制台创建应用,你可以在...注册账号,创建小程序 首先在微信公众平台注...
  • 简单图文排版微票在线电影票预定购买电影商城小程序.zip
  • 在安装的Wordpress插件搜索Mini Program API插件安装,就可以连接你的网站数据同步到小程序端,无缝对接一个小程序,无需编程轻松生成一个属于的个人小程序,没有资质限制个人也可以上线。 简约精美的UI设计,独家...
  • 微信发卡小程序,300元购买的,测试过没问题
  • 微信小程序开发交流qq群 173683895 承接微信小程序开发。扫码加微信。 正文: 这里有三种变更数量的方式, 加号,减号,input输入 , 这里做了限制,数量不能小于等于0并且不能超过现有库存,下面是功能实现...
  • 支付宝小程序、百度小程序、微信小程序、今日头条小程序四大小程序对比分析,BAT小程序技术分析
  • 自己购买的最新禾匠独立版小程序,可自动同步更新,支持抖音、微信、百度等多端小程序,亲测正常使用
  • 13超级小程序

    2018-12-26 11:05:37
    这是一个小程序小程序语言开发; 小程序大部分API和组件均属前端范畴,但是前端开发的第三方可能支持前端但不支持小程序,比如bootstrap,网页端的docment方法小程序中不能使用 通过编写javascript/(w)xml/css...
  • 花便宜的小程序,卖鲜花的小程序或app 传统的花店经营非常的单一,只能通过线下销售鲜花,基本上以零售为主。花店的销售也要与时俱进,采用新的销售方式,不仅能够提升花店的销量,还能提高花店的收益。花店也需要...
  • 家具生活在线家具购买预定分页式家居微商城小程序.zip
  • 百果园水果商城拼团购买在线微信商城小程序模板.zip
  • 因为小程序跳转的时候需要公众号关联,但是关联的数量是有限的!因此该文章的处理方案是: a.关联的小程序,直接可以点击打开 b.没有关联的,那么可以长按识别小程序码来进入小程序 下面展示效果: 1.点击关联有...
  • 微信小程序买蛋糕

    2019-01-03 00:12:40
    微信小程序开发,有购物,填写地址,等功能,照片需要自己添加
  • 淘宝花钱购买的经典php商城小程序源码--Tinkphp5.1框架小程序商城带后台源码免费试用学习

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 308,412
精华内容 123,364
关键字:

怎么购买小程序