精华内容
下载资源
问答
  • 程序云开发实现上传图片功能

    万次阅读 多人点赞 2019-04-04 18:53:29
    1、小程序上传图片功能实现需要注意以下几个点: (1)图片最多上传9张(默认) (2)上传后的图片会生成个临时的地址,用过这个临时地址将图片上传到数据库 (3)图片保存的位置是在云开发控制台的 本地存储中 ...

    1、小程序上传图片功能实现需要注意以下几个点:

    (1)图片最多上传9张(默认)
    (2)上传后的图片会生成一个临时的地址,用过这个临时地址将图片上传到数据库
    (3)图片保存的位置是在云开发控制台的 本地存储中
    (4)图片只能是一张一张的上传
    (5)保存在本地存储中的图片不能重名
    (6)可以使用js中的new Date().getTime()返回一个毫秒值作为图片的名称,这个毫秒值是不会重复的
    (7)图片的后缀可以用正则表达式取得let suffix = /\.[^\.]+$/.exec(filePath)[0]
    (8)每次上传成功后,回调函数会返回一个fileID
    (9)保存在数据库集合中的记录应该是这个 fileID
    (10)你无法确定什么时候9张图片才能都上传成功,只有当所有图片都上传成功之后,你才能取到所有的fileID,所以每次执行上传图片操作时,都为其构建一个Promise对象,当所有的Promise都执行成功之后,这时候再插入字段到数据库中,需要用到Promise.all()方法

    代码实现

    这里的button使用的是vant组件,使用方法参考
    https://blog.csdn.net/Cheny_Yang/article/details/88966365

    1、点击上传图片按钮,触发uploadImgHandle点击事件,事件中调用小程序提供的wx.chooseImage()接口,实现上传图片的功能,返回值是一个图片的临时地址tempFilePaths,将临时地址存在一个数组中,以便待会正式上传时调用,代码实现如下

    <van-button type="warning" bindtap='uploadImgHandle'>上传图片</van-button>
    <view>
     	<block wx:for="{{tempImg}}" wx:key="{{index}}tmpimg">
    	 	<image src='{{item}}' mode='aspectFill'></image>
    	</block>
    </view>
    <van-button type="primary" bindtap='submit'>提交</van-button>
    
      uploadImgHandle: function () {
        wx.chooseImage({
          count: 9,
          sizeType: ['original', 'compressed'],
          sourceType: ['album', 'camera'],
          success:res=> {
            // tempFilePath可以作为img标签的src属性显示图片
            const tempFilePaths = res.tempFilePaths
            this.setData({
              tempImg: tempFilePaths
            })
          }
        })
      },
    

    2、当点击提交按钮时,触发submit点击事件,在正式上传之前,先声明一个promiseArr数组,因为图片是多张,而上传图片只能是一张一张上传,所以for循环遍历tempImg数组,执行微信给我们的接口wx.cloud.uploadFile()实现图片上传,将每次上传图片的过程都保存在一个Promise对象中,然后将这几个Promise对象pushpromiseArr中,把每次上传图片返回的fileID concat()到自己定义的fileIDs数组中,以便等会存入数据集合中。
    上传数据库的操作在Promise.all()中执行

     const db = wx.cloud.database()
    Page({
      data: {
        tempImg: [],
        fileIDs: [],
      },
      submit: function () {
        wx.showLoading({
          title: '提交中',
        })
        const promiseArr = []
        //只能一张张上传 遍历临时的图片数组
        for (let i = 0; i < this.data.tempImg.length;i++) {
          let filePath = this.data.tempImg[i]
          let suffix = /\.[^\.]+$/.exec(filePath)[0]; // 正则表达式,获取文件扩展名
          //在每次上传的时候,就往promiseArr里存一个promise,只有当所有的都返回结果时,才可以继续往下执行
          promiseArr.push(new Promise((reslove,reject)=>{
            wx.cloud.uploadFile({
              cloudPath: new Date().getTime() + suffix,
              filePath: filePath, // 文件路径
            }).then(res => {
              // get resource ID
              console.log(res.fileID)
              this.setData({
                fileIDs: this.data.fileIDs.concat(res.fileID)
              })
              reslove()
            }).catch(error => {
              console.log(error)
            })
          }))
        }
        Promise.all(promiseArr).then(res=>{
          db.collection('comments').add({
            data: {
              fileIDs: this.data.fileIDs //只有当所有的图片都上传完毕后,这个值才能被设置,但是上传文件是一个异步的操作,你不知道他们什么时候把fileid返回,所以就得用promise.all
            }
          })
            .then(res => {
              console.log(res)
              wx.hideLoading()
              wx.showToast({
                title: '提交成功',
              })
            })
            .catch(error => {
              console.log(error)
            })
        })
      },
    

    效果如下

    在这里插入图片描述
    bingo~

    展开全文
  • 编写程序,创建所示的图形界面。(要求实现功能) import javax.swing.*; import java.awt.*; import java.awt.event.*; public class sum { public static void main(String args[]){ ComputerFrame ...

    编写程序,创建如下图所示的图形界面。(要求实现功能)
    在这里插入图片描述

    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class sum {
    	public static void main(String args[]){
    		ComputerFrame frame =new ComputerFrame();
    		frame.setTitle("求和");
    		frame.setBounds(500,500,800,800);
    	}	
    }
    class ComputerFrame extends JFrame {
    	JTextField numberone;
    	JTextField numbertwo;
    	JTextField result;
    	JButton answer;
    	JButton clear;
    	Sumlistener sumlis;
    	Clearlistener clearlis;
    	ComputerFrame(){
    		init();
    		setVisible(true);
    		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    	}
    	void init(){
    		GridLayout Grid=new GridLayout(3,3);
    		setLayout(Grid);
    		add(new JLabel("数字1:"));
    		numberone=new JTextField(20);
    		add(numberone);
    		add(new JLabel(" "));
    		add(new JLabel("数字2:"));
    		numbertwo=new JTextField(20);
    		add(numbertwo);
    		add(new Label(" "));
    		answer=new JButton("求和");
    		result=new JTextField(20);
    		clear=new JButton("清除");
    		add(answer);
    		add(result);
    		add(clear);
    		sumlis=new Sumlistener(numberone,numbertwo,result);
    		clearlis=new Clearlistener(numberone,numbertwo,result);
    		answer.addActionListener(sumlis);
    		clear.addActionListener(clearlis);
    	}
    }
    class Sumlistener implements ActionListener{
    	JTextField numberone;
    	JTextField numbertwo;
    	JTextField result;
    	Sumlistener(JTextField one,JTextField two,JTextField res){
    		numberone=one;
    		numbertwo=two;
    		result=res;
    	}
    	public void actionPerformed(ActionEvent e){
    		double a=Double.parseDouble(numberone.getText().trim());
    		double b=Double.parseDouble(numbertwo.getText().trim());
    		String c=String.valueOf(a+b);
    		result.setText(c);
    	}
    }
    class Clearlistener implements ActionListener{
    	JTextField numberone;
    	JTextField numbertwo;
    	JTextField result;
    	Clearlistener(JTextField one,JTextField two,JTextField res){
    		numberone=one;
    		numbertwo=two;
    		result=res;
    	}
    	public void actionPerformed(ActionEvent e){
    		numberone.setText(" ");
    		numbertwo.setText(" ");
    		result.setText(" ");
    	}
    
    }
    		
    
    
    展开全文
  • 编写程序计算购买图书的总金额:用户输入图书的定价和购买图书的数量,并分别保存到个 float 和个 int 类型的变量中,然后根据用户输入的定价和购买图书的数量,计算购书的总金额并输出。其中,图书销售策略为:...

    j1_8_01

    编写程序计算购买图书的总金额:用户输入图书的定价和购买图书的数量,并分别保存到一个 float 和一个 int 类型的变量中,然后根据用户输入的定价和购买图书的数量,计算购书的总金额并输出。其中,图书销售策略为:正常情况下按 9 折出售,购书数量超过 10本打 8.5 折,超过 100 本打 8 折。

    package com;
    
    import java.util.Scanner;
    
    /**
     * 
     * @author key
     *任务一:实现打折功能关键算法并绘制流程图
     *编写程序计算购买图书的总金额:用户输入图书的定价和购买图书的数量,并分别保存
     *到一个 float 和一个 int 类型的变量中,然后根据用户输入的定价和购买图书的数量,计算
     *购书的总金额并输出。其中,图书销售策略为:正常情况下按 9 折出售,购书数量超过 10
     *本打 8.5 折,超过 100 本打 8 折。
     */
    public class week01 {
    	
    	public static void main(String[] args) {
            float price;
            int count;
            float discount,money;
            Scanner sc=new Scanner(System.in);
            System.out.print("请输入图书的定价:");
            price=sc.nextFloat();
            System.out.print("请输入图书的数量:");
            count=sc.nextInt();
            if(count>=100)
                discount=0.8f;
            else if(count>=10)
                discount=0.85f;
            else
                discount=0.9f;
            money=price*count*discount;
            System.out.println("您本次购书的总金额为:"+money);
        }
    }
    
    
    展开全文
  • 程序中有很多好用的API,整个项目我们是用vue实现的,使用小程序的内嵌网页功能完成交互。 使用小程序的&amp;lt; web-view &amp;gt;标签将vue项目在小程序中运行。大概的背景就是这样。接下来介绍具体...

    小程序中有很多好用的API,整个项目我们是用vue实现的,使用小程序的内嵌网页功能完成交互。
    使用小程序的< web-view >标签将vue项目在小程序中运行。大概的背景就是这样。接下来介绍具体怎么完成微信小程序与vue内嵌页面实现地图定位功能。

    1.首先在index.html中引入微信jssdk

    <script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>

    2.在小程序中

    <web-view src="{{url}}"></web-view>

    3.在vue组件中,点击获取地图位置按钮,触发事件。

     //携带参数进入小程序,使用小程序地图定位API
            fixPosition() {
            //保存当前地址,以便从小程序中返回时使用
              let jumpUrl = window.location;
              //传递多个参数时用&连接
              let path = `/pages/address/address?address=${this.warehouse.local}&jumpUrl=${jumpUrl}`
              //使用navigateTo跳转到小程序路径中
              window.wx.miniProgram.navigateTo({
                url: path
              })
    
            }

    4.在小程序address.js中
    4.1在data中定义传递过来的变量,Id和jumpUrl
    4.2在onload中,将从vue中传递过来的值赋给Id和jumpUrl
    4.3getCenterLocation中调用小程序Api wx.getLocation,wx.chooseLocation获取定位,并且将进行参数返回处理,详细介绍如下
    4.4在onReady中调用一下getCenterLocation

    Page({
      data: {
        Id:``,
        jumpUrl:``
      },
      onLoad: function(options) {
          this.setData({
          Id:options.Id,
          jumpUrl: options.jumpUrl
        })
      },
      onReady: function(e) {
        // 使用 wx.createMapContext 获取 map 上下文
        this.mapCtx = wx.createMapContext('myMap');
        this.getCenterLocation()
    
      },
      getCenterLocation: function() {
        let that = this;
        wx.getLocation({
          type: 'wgs84', //返回可以用于wx.openLocation的经纬度
          success: function(res) {
            let latitude = res.latitude
            let longitude = res.longitude
            wx.chooseLocation({
              latitude: latitude,
              longitude: longitude,
              scale: 28,
              success: function(res) {
                this.address = res.address
                rePage.setData({
                //携带选择的地址res.address返回到vue内嵌界面中
                  url: that.data.jumpUrl + `?address=${res.address}`
                })
                console.log(this.address)
                wx.navigateBack({
                  delta: 1
                })
              }
            })
          }
        })
      },
    
    })

    5.在vue组件中将小程序传过来的值付给定义为位置的这个参数local,注意,由于小程序与vue的生命周期的问题,赋值需要写在 beforeRouteUpdate中,关于vue路由钩子的介绍详细可参考vue路由钩子官方文档

     beforeRouteUpdate(to, from, next) {
            if(this.$route.query.address){
              this.warehouse.local=to.query.address;
             }
             next()
          },

    结果展示如下:
    这里写图片描述
    这里写图片描述
    这里写图片描述

    以下这篇文章给了我很多帮助,可以参考微信小程序与内嵌网页交互实现支付功能

    展开全文
  • 功能:请编写输出以下图案的程序,图案的行数由输入的值确定 A BBB CCCCC DDDDDDD EEEEEEEEE */ #include<stdio.h> int main(void) { int i, j; int lines; char ch = 'A'; printf("请输入图案的行数...
  • 微信小程序功能介绍

    千次阅读 2016-11-09 15:05:41
    我们提供了种新的开放能力,让开发者可以快速地开发个 小程序。小程序可以在微信内被便捷地获取和传播,同时具有出色的使用体验。 AppID 在公众平台 设置 - 开发者设置 中,查看到微信小程序的 AppID ,它和...
  • 微信小程序在12月21日发布了新版本的开发工具,并在官网公布新增以下功能1、分享可以分享小程序的任何个页面给好友或群聊。https://mp.weixin.qq.com/debug/wxadoc/dev/api/share.html?t=20161221示例代码:Page...
  • 需要求 3 个长方体的体积,请编写个基于对象的程序
  • 程序支付功能开发实战

    千次阅读 2019-05-27 20:44:00
    程序支付功能开发实战:附送前后端源码! 前期准备 先以企业身份注册个小程序账号,注册完成之后登录小程序后台,把小程序appid、小程序secret码复制好。在这之后登录微信支付商平台(需注册),准备好微信支付...
  • 在软件程序设计中,我们通常会用到以下几种,来帮助我们,分析问题,整理逻辑。 我将介绍这四种的特性,以及区分它们的方法。 1.N-S: 也叫盒,由美国学者I.Nassi 和 B.Shneiderman提出,所以又称N-S,...
  • **要求:**使用for循环编写程序实现以下功能:计算1-1/3+1/5-1/7+…-1/99+…。 **输入:**输入该表达式的项数n。例如,如果输入2,则计算1-1/3;如果输入5,则计算1-1/3+1/5-1/7+1/9。 **输出:**计算结果保留2位...
  • 微信小程序实现store功能

    千次阅读 2019-10-17 16:14:20
    期《微信小程序实现数据侦听器watch》,在小程序中实现了Vue的watch功能。但小程序没有状态管理,目前的状况下,跨页通讯和数据传递非常的蛋疼,会造成难以维护和调试。这次就来实现store,全局状态管理功能,来...
  • 微信小程序--实现分享功能

    万次阅读 多人点赞 2019-07-25 15:28:27
    本篇文章的目标是实现分享小程序中的单张页面给其他用户,并且打开分享后的页面拥有返回按钮. 最终的效果: ...1. 封装个分享的组件 <view class='share'> <view class='like'> ...
  • printf("实验题7.1: 编写程序algo7-1.cpp,实现二叉树的各种基本运算,并在此基础上设计程序Main.cpp完成如下功能(b为所示的棵二叉树)\n(1)输出二叉树b;\n(2)输出H节点的左、右孩子节点值;\n(3...
  • 以下程序功能是从键盘输入行字符,分别统计出其中英文字母(大写或小写)、空格、数字(0-9)和其它字符的个数。请根据提示补充函数count的具体实现代码。请不要改变已经给出的代码。 import java.util.Scanner; ...
  • 要求用成员函数实现以下功能1. 由键盘分别输入3个长方柱的长、宽、高; 2. 计算长方柱的体积; 3. 输出3个长方柱的体积。 请编程序,上机调试并运行。 代码块: #include &lt;iostre...
  • 实战解决小程序图片加载问题

    万次阅读 多人点赞 2018-10-11 11:51:05
    相较于web端或者H5开发,小程序本身在性能上弱很多(但用户体验上要好)。以前开发时服务器性能过剩在那里帮你撑着脸面,你对自己的...如果是像购物APP那样或者是款有图片列表的应用,那么以下方案肯定能帮到你...
  • 小程序的功能思维脑图主要功能...4、预订业务小程序截图:首页会员专属码店员操作界面小程序功能体验:欲体验管理后台功能的朋友,联系作者,给你开管理员权限。加微信时注时一下“体验小程序”。体验小程序,最好用...
  • 经过探讨与自己的思考,我认为应该从以下几个问题来弄清楚用例的作用。 1、用例由谁来做?为谁做,做完了有什么用途? 用例非常直观的的表达了客户的需求,大家想想我们在与客户沟通完成后,我们大脑中得到...
  • 已知数组a中的元素已按由小到大顺序排列,以下程序功能是将输入的个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列 #include<stdio.h> int main() { int a[10]; int i=0,j,num; while...
  • 微信小程序自定义关键词功能关闭

    千次阅读 2018-03-30 19:25:00
    程序搜索自定义关键词功能将在4月3日凌晨关闭,微信将升级搜索算法满足相应需求。自定义关键词功能介绍 Q:功能关闭后,已提交的自定义关键词是否还生效?A:线上已生效的关键词将会在短期内持续生效,但会逐渐被...
  • 微信小程序实现客服默认自动回复功能

    万次阅读 热门讨论 2018-03-22 13:42:19
    程序可通过以下两种方式下发客服消息:1、调用发送客服消息接口;2、使用公众平台网页版客服工具;这里主要讲第1种的做法。 1、小程序管理员的后台配置 登录小程序,在“设置-开发设置-消息推送”启用消息推送...
  • 微信小程序转发功能

    千次阅读 2018-03-30 11:10:40
    微信小程序转发涉及以下4个方法:1、Page.onShareAppMessage({}) 设置右上角“转发”配置,及转发后回调函数返回 shareTicket 票据 2、wx.showSahreMenu() 用户点击右上角后,显示“转发”按钮 3、wx.hideShareMenu...
  • 以下程序功能是输入个字符串和个字符,如果该字符在字符串中,就从该字符首次出现的位置开始输出字符串中的字符。例如,如果输入的字符串为“Hello”,输入的字符为’e’,则输出结果为“ello”。请填空。 ...
  • 微信小程序——图片识别

    千次阅读 多人点赞 2020-01-03 13:55:11
    我的微信小程序 期末大作业——基于百度大脑API...目录1 概述1.1 课程大作业目的与要求1.2 课程大作业简介2 设计思路2.1 图片识别API2.2 微信小程序UI框架3 设计方案4 设计过程4.1 百度开放平台注册4.2 获取asscee_...
  • 最近我不仅对游戏开发感兴趣,还对函数感兴趣,特此我开发了这个程序以下是一些介绍和下载演示地址,喜欢的朋友可以看看: ,产品名片 产品名:Function Graphics 版本: 0.1 开发者:Yorhom Wang 首次...
  • 要求: (1)每个学生的基本信息包括:学号,姓名,性别,出生日期,所属学院,专业,年级等,其中学号不允许重复。...提供模糊查找的功能输入“刘”,可以查找到所有姓“刘”的学生的基本信息。
  • 微信小程序实现订阅信息功能

    千次阅读 2020-03-13 14:52:07
    微信小程序集成百度图像识别功能,实现对上传或拍照的身份证进行扫描,并获取身份证信息。 百度端创建应用 访问网址https://login.bce.baidu.com/,选择“人工智能”--“图像识别”; 在栏目“应用列表”下...
  • 程序添加意见反馈功能

    万次阅读 2019-04-12 19:26:19
    将open-type设置为feedback,想了解详情的可先阅读以下官方文档的button组件 <button open-type='feedback' type='primary'>意见反馈</button> 使用真机调试 在小程序后台查看有关反馈...
  • 如何开通小程序云开发功能

    千次阅读 2018-09-12 08:44:17
    创建了第个云开发小程序后,在使用云开发能力之前需要先开通云开发。在开发者工具工具栏左侧,点击 “云开发” 按钮即可开通云开发。云开发开通后自动获得一套云开发环境,各个环境相互隔离,每个环境都包含独立的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,533,475
精华内容 613,390
关键字:

以下程序的功能如图一