大家好~我是c站的一个小博主,我会定期更新博文,本篇是围绕微信小程序基于腾讯云开发展开的一个项目,如果看着还不错,或者对您有帮助的话,可以进我的专栏看看我的小程序的其他作品https://blog.csdn.net/lbcyllqj/category_12024537.html

比如:基于微信云开发的学生录入信息功能的1.0到4.0版本,我觉得那是一个很实用的程序哦~喜欢的话就订阅叭~

基于微信小程序云开(统计学生信息并导出excel)_lqj_本人的博客-CSDN博客

基于微信小程序云开(统计学生信息并导出excel)2.0版_lqj_本人的博客-CSDN博客

基于微信小程序云开(统计学生信息并导出excel)3.0版_lqj_本人的博客-CSDN博客

基于微信小程序云开(统计学生信息并导出excel)4.0版(稳定版)_lqj_本人的博客-CSDN博客

目录

前言

一、微信小程序是什么?

二、什么是微信小程序的云开发

构思:

我们先来展示一下效果

首先创建云数据库:

代码实现:

shoye.wxml:

shouye.wxss:

shouye.js:

me.wxml:

me.wxss:

me.js:

detail.wxml:

detail.wxss:

detail.js:

add.wxml:

add.wxss:

add.js:

app.wxss:


前言

随着移动端的不断发展,人们大部分的办公及生活应用都开始趋向于移动端。然而在2017年“微信之父”张小龙带领团队,开发了一款叫做微信小程序的东西,它的出现打破了人们认识移动端的隔膜,由以前的需要先下载app然后在开始工作的老式模式,逐渐的趋向于小程序app(无需下载)的形式。

一、微信小程序是什么?

微信小程序是一种不需要下载安装即可使用的应用,它实现了应用的随开随用,用户只需要用微信扫一扫或者通过微信搜一下即可打开应用,使用完即可关闭,还可以把小程序添加到桌面,真正的做到了便捷方便,用完就走。

二、什么是微信小程序的云开发

云开发为开发者提供完整的云端支持,弱化了后端和运维概念,无需搭建服务器,使用平台提供的 API 进行核心业务开发,即可实现快速上线和迭代,同时这一能力,同开发者已经使用的云服务相互兼容,并不互斥。
从开发流程来看,以往开发一个微信小程序需要经过产品功能构思、模块划分、原型设计、UI 设计、前端开发、后端开发、接口联调、测试上线等开发阶段。有了「小程序·云开发」后,前端工程师将可以独立实现前端开发、后端开发、接口联调工作,且无需太多后端知识。

构思:

1.首先做这一款小程序app需要四个页面,包括:两个展示页面,两个隐藏页面。

2.我们需要一个首页来展示我们所有用户的愿望,我们需要在shouye这个页面中来显示!

3.我们需要一个我的页面来设置一些用户的属性以及常规设置,以及可以单独拿出一个me页面来实现用户登录,以及实现跳转到add(填写愿望的页面)

4.我们需要一个隐藏的被跳转页面给用户提供一个添加愿望的页面

5.我们需要一个愿望阅读详情页,detail为所用的用户阅读提供阅读!

我们先来展示一下效果

首先创建云数据库:

 代码实现:

shoye.wxml:

<!-- 搜索框开始 -->
<van-search value="{{ value }}" placeholder="请输入许愿者昵称"  background="-webkit-linear-gradient(top left,rgb(60, 244, 120),#e294fa,rgb(241, 224, 123))" bind:change="search" bind:focus="search_case_show" bind:blur="search_case_close"/>
<view class="lay_col_cen" wx:if="{{search_case}}"><view class="lay_col_sta pad_20 case search_case"><scroll-view style="width:100%;height:100%;" scroll-y="true"><view class="lay_col_sta pad_20"><navigator  wx:for="{{search_list}}" wx:key="index"url="../detail/detail?detail_id={{item._id}}"hover-class="navigator-hover"><view class="lay_row_spa" style="padding: 15rpx 0 15rx 0; width: 640rpx; height: 113rpx; display: flex; box-sizing: border-box;"><image src="{{item.img}}" class="g_img"></image><view class="itemname"><text>{{item.name}}</text><text style="font-size: 20rpx;">{{item.cTime}}</text></view></view><van-divider style="width:100%" custom-style="margin-top:10rpx;margin-bottom:10rpx;"></van-divider></navigator></view></scroll-view></view>
</view>
<!-- 搜索框结束 -->
<view class="head"><view class="head1"><scroll-view class="scroll-view_class" scroll-x="true"enable-flex="true"><view class="scroll-view_class"><view><view class="{{flag == 0?'choose':'nochoose'}}"id="0" bindtap="select">易安书院</view></view><view><view class="{{flag == 1?'choose':'nochoose'}}"id="1" bindtap="select">南山书院</view></view><view><view class="{{flag == 2?'choose':'nochoose'}}"id="2" bindtap="select">东岭书院</view></view><view><view class="{{flag == 3?'choose':'nochoose'}}"id="3" bindtap="select">三味书院</view></view><view><view class="{{flag == 4?'choose':'nochoose'}}"id="4" bindtap="select">桐林书院</view></view></view></scroll-view></view>
</view><view class="body"><template name="itmes"><navigator url="../detail/detail?detail_id={{_id}}" hover-class="navigator-hover"><view class="imgs"><image src="{{img}}" class="in-img" background-size="cover" model="scaleToFill"></image></view><view class="infos"><view class="title">{{title}}</view><view class="date">{{cTime}}------{{name}}</view></view></navigator></template><view wx:for="{{shuzu}}" class="list" wx:key="index"><template is="itmes" data="{{...item}}"></template></view>
</view>

shouye.wxss:


page{background: -webkit-linear-gradient(top left,rgb(4, 244, 144),#e294fa,rgb(241, 224, 123));
}
.head{box-shadow:  5rpx 5rpx 10rpx rgb(82, 80, 80);background: -webkit-linear-gradient(top right,rgb(4, 156, 244),#e294fa,rgb(241, 224, 123));height: 56px;color: #ffffff;display: flex;flex-direction: row;align-items: center;
}
.head1{width: 100%;height: 36px;
}
.scroll-view_class{height: 40px;display: flex;flex-direction: row;margin-left: 5px;
}
.choose{width: 40px;height: 40px;line-height: 40px;padding-left: 5px;padding-right: 5px;font-size: 14px;font-weight: bold;
}
.nochoose{width: 70px;height: 40px;line-height: 40px;padding-left: 5px;padding-right: 5px;font-size:30rpx;
}
.body{height: 100%;display: flex;flex-direction: column;padding: 20rpx;
}
navigator{overflow: hidden;}
.list{margin-bottom: 20rpx;height: 200rpx;position: relative;}
.imgs{float: left;}
.imgs image{display: block;width: 200rpx;height: 200rpx;}
.infos{float: left;width: 480rpx;height: 200rpx;padding: 20rpx 0 0 20rpx;}
.title{font-size: 16px;overflow: hidden;
text-overflow:ellipsis;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;}
.date{font-size: 14px;color: rgb(0, 0, 0);position: absolute;bottom: 0;}
.loadMore{text-align: center;margin: 30px;color: #aaa;font-size: 16px;}
page{background-color: #fdfeff;
}
.search_case{width: 96%;height: 600rpx;background-color: #ffffff;position: fixed;top: 90rpx;z-index: 999;
}
.g_img{width: 90rpx;height: 90rpx;border-radius: 10rpx;
}

shouye.js:

const db =  wx.cloud.database()
Page({data:{shuzu:[],detail_id:"n001",search_list:[],search_case:false},search_case_close(){this.setData({search_case:false,})},search_case_show(){this.setData({search_case:true,})},search(e){let that = thisconsole.log(e)if(e.detail){wx.showLoading({title:'搜索中',})db.collection('xuyuanqiang').where({name: db.RegExp({regexp: e.detail,options: 'i',})}).get().then(res=>{wx.hideLoading()console.log("搜索",res)that.setData({search_list:res.data,})})} else{that.setData({search_list:[],})}},onLoad:function(options){var that = thisconst db = wx.cloud.database()db.collection('xuyuanqiang').where({newsid:"0"}).get({success:function(res){console.log(res.data)that.setData({shuzu:res.data})}})},select:function(e){console.log(e)var that = thisvar id = e.target.idconst db = wx.cloud.database()db.collection('xuyuanqiang').where({newsid:id}).get({success:function(res){console.log(res.data)that.setData({shuzu:res.data})}})},
})

me.wxml:

<view class="all"><view class="top"><view class="top1"><view class="avatarUrl"><image src="{{path}}" style="width: 50px;height: 50px;"></image></view><view class="nickName">{{name}}</view></view><view class="top2"><text style="width: 598rpx; height: 122rpx; display: block; box-sizing: border-box;font-weight: bold;padding-left: 20rpx;">愿,化为小小的种子,落在你的心田之上,生根,开花,沁出醉人的花香,萦绕着你的美丽人生。-----客服小杰</text><view class="qqq"><button  open-type="contact" style="width: 176rpx; height: 120rpx; display: block; box-sizing: border-box; left: 0rpx; top: 0rpx"><image style="width: 100rpx;height: 100rpx;" src="/images/kefu.png"></image></button><text style="color: aliceblue;">联系客服</text></view></view></view><view class="part"></view><view class="mecontent"><view class="two"  bindtap='mefuntion'style="border-radius: 20rpx;width:40%;height:200rpx"><text style="padding-top:50rpx;">我要许愿</text></view></view></view>
<button bindtap="denglu"type="primary"style="width:100%;margin-top:200rpx;background: -webkit-linear-gradient(top right,rgb(4, 208, 244),rgb(241, 224, 123));box-shadow:  5rpx 5rpx 10rpx rgb(82, 80, 80);">授权登录</button>

me.wxss:

page{background: -webkit-linear-gradient(top,rgb(4, 156, 244),#e294fa,rgb(241, 224, 123));
}.top{margin: 30rpx 2% 0 2%;width: 96%;height: 150px;background: -webkit-linear-gradient(top,rgb(4, 156, 244),#e294fa,rgb(241, 224, 123));border-radius: 50rpx;
}
.top1{display: flex;flex-direction: row;
}
.top1 image{border-radius: 50%;margin-left: 10px;
}
.nickName{color: #ffffff;font-size: 15px;position: absolute;left: 100px;margin-top:20px ;
}
.top2{margin-top:10px ;display: flex;flex-direction: row;
}
.topitem{width: 33%;text-align: center;font-size: 13px;color: #ffffff;line-height: 20px;border-right: 1px solid #cccccc;
}
.part{width: 100%;height: 15px;/* background-color: #f4f5f6; */
}
.mecontent{font-weight: bold;font-size: 50rpx;color: #ffffff;margin-top:100rpx ;display: flex;flex-direction: row;justify-content: space-around;
}
.part1{/* border:1px solid #cccccc; */opacity: 0.2;
}
.mefuntion{font-size: 1rem;
}
.two{box-shadow:  5rpx 5rpx 20rpx rgb(82, 80, 80);background: -webkit-linear-gradient(top left,rgb(4, 156, 244),#e294fa,rgb(241, 224, 123));display: flex;flex-direction: row;justify-content: space-around;
}
.qqq{display: flex;flex-direction: column;justify-content: space-around;align-items: center;
}

me.js:

var app = getApp()Page({/*** 页面的初始数据*/data: {name:"昵称",path:"/images/touxiang(moren).png",},/*** 生命周期函数--监听页面加载*/onLoad:function() {},denglu(e) {var that = thiswx.getUserProfile({desc:'正在获取',//不写不弹提示框success:function(res){console.log('获取成功: ',res)that.setData({name:res.userInfo.nickName,path:res.userInfo.avatarUrl})},fail:function(err){console.log("获取失败: ",err)}})},mefuntion:function(e){var that = thisif(that.data.name=="昵称"){wx.showToast({title: '您还有未登录',icon:"none"})}else{wx.navigateTo({url: '../add/add',})}},setup:function(){wx.navigateTo({url: '../setting/setting',})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

detail.wxml:

<view class="warp"><view><view class="title" style="margin-bottom: 20rpx;">{{detail_content.title}}</view><view class="cTime" style="margin-bottom: 20rpx;">{{detail_content.cTime}}</view><image mode="aspectFit" src="{{detail_content.img}}" style="width: 710rpx; height: 480rpx; display: inline-block; box-sizing: border-box; margin-bottom: 20rpx"></image><view class="content" style="margin-bottom: 20rpx;" >{{detail_content.content}}</view><view class="content" style="margin-bottom: 20rpx;">{{detail_content.name}}</view><view class="close" bindtap="closepage">返回</view></view>
</view>

detail.wxss:

page{background: -webkit-linear-gradient(top left,rgb(4, 244, 144),#e294fa,rgb(241, 224, 123));
}
.warp{height: 100%;display: flex;flex-direction: column;padding: 20rpx;font-size: 16px;
}
.title{text-align: center;padding: 20rpx;font-size: 20px;
}
.cTime{color: rgb(0, 0, 0);
}
.img{text-align: center;padding: 20rpx;
}
.img image{width: 120px;height: 120px;
}
.content{text-indent: 2em;
}
.close{width: 100%;background: -webkit-linear-gradient(top left,rgb(4, 244, 144),#e294fa,rgb(241, 224, 123));text-align: center;margin: 45px 0 0 0;font-size: 20px;color: rgb(0, 0, 0);
}
page{background-color: #fdfeff;
}

detail.js:

var app = getApp()
Page({/*** 页面的初始数据*/data: {id1:1,detail_content:{}},/*** 生命周期函数--监听页面加载*/onLoad(options) {console.log(options)var that = thisvar detail_id = options.detail_id;const db = wx.cloud.database()db.collection('xuyuanqiang').doc(detail_id).get({success:function(res){console.log(res.data)that.setData({detail_content:res.data})}})},closepage:function(){wx.redirectTo({url: '../shouye/shouye'})},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}
})

add.wxml:


<view class=""><!-- <template is="head" data="{{title:'editor'}}"></template> --><view class="page-body"><view class='wrapper'><view class="contentinfo"style="color:red;font-size:40rpx;font-weight:bold">请输入许愿标题</view><view class='in'><input bindinput='title1'placeholder="{{title}}"focus="{{focus}}"/></view><view class="contentinfo" style="color:red;font-size:40rpx;font-weight:bold">请输入许愿内容</view><view class='in'><textarea bindinput="content1"placeholder="{{content}}" maxlength="300"></textarea></view><view class="contentinfo" style="color:red;font-size:40rpx;font-weight:bold">请选择所属书院</view><view class='in'><radio-group class="radio-group"bindchange="radioChange"><label class="radio" wx:for="{{items}}" wx:key="index"><radio value="{{item.name}}" checked="{{item.checked}}"/>{{item.value}}</label></radio-group></view><view class="pic"><view class="contentinfo" style="color:red;font-size:40rpx;font-weight:bold">请上传图片(选填)</view><view bindtap='picfunction'><image class="plus" style="width: 80rpx;height: 80rpx;" src='/images/tianjia.png'></image></view></view><image mode="aspectFit" src="{{img}}" style="width: 200rpx; height: 200rpx; display: inline-block; box-sizing: border-box"></image><view><text style="color:red;font-size:40rpx;font-weight:bold">许愿者:</text></view><view class="zuozhe"><image src="{{path}}" style="width: 30px;height: 30px;"></image><text style="padding:6rpx  0 0 22rpx ;color: white;">昵称:{{name}}</text></view><button bindtap="denglu" type="primary" style="font-size: 30rpx;width: 33%;margin-top: 20rpx;background: -webkit-linear-gradient(top left,rgb(4, 208, 244),rgb(241, 224, 123))" >授权登录</button></view><button style="background: -webkit-linear-gradient(top left,rgb(4, 208, 244),rgb(241, 224, 123));box-shadow:  5rpx 5rpx 10rpx rgb(95, 93, 93);margin-top: 30rpx;" type="primary"bindtap='submit'>上传</button></view>
</view>

add.wxss:

/* pages/add/add.wxss */
page{background: -webkit-linear-gradient(top,rgb(4, 156, 244),#e294fa,rgb(241, 224, 123));
}
.wrapper{padding: 5px;}.contentinfo{font-size: 1rem;}.iconfont{display: inline-block;padding: 8px 8px;width: 24px;height: 24px;cursor: pointer;font-size: 20px;}.toolbar{box-sizing: border-box;border-bottom: 0;font-family: 'Helvetica Neue','Helvetica','Arial',sans-serif;}.ql-container{box-sizing: border-box;padding: 12px 15px;width: 100%;min-height: 30vh;height: auto;background: #fff;margin-top:20px ;font-size: 16px;line-height: 1.5;}.ql-active{color: #06c;}.in{box-shadow:  5rpx 5rpx 10rpx rgb(82, 80, 80);border-radius: 30rpx;background: -webkit-linear-gradient(top,rgb(4, 208, 244),rgb(241, 224, 123))}input{/* border:1px solid #00F; */font-size: 1rem;width: 100%;}.pic{display: flex;flex-direction: row;}.zuozhe{display: flex;flex-direction:row;}.tupian{display: flex;flex-direction: row;justify-content: space-around;}

add.js:

  Page({/*** 页面的初始数据*/data: {name:"",path:"/images/touxiang(moren).png",title:"请输入许愿标题...",content:"请输入许愿内容...",newsid:"",img:"",cTime:"",items:[{name:'0',value:'易安书院'},{name:'1',value:'南山书院'},{name:'2',value:'东岭书院'},{name:'3',value:'三味书院'},{name:'4',value:'桐林书院'},]},denglu(e) {var that = thiswx.getUserProfile({desc:'正在获取',//不写不弹提示框success:function(res){console.log('获取成功: ',res)that.setData({name:res.userInfo.nickName,path:res.userInfo.avatarUrl})},fail:function(err){console.log("获取失败: ",err)}})},title1:function(e){console.log(e.detail.value)this.setData({title:e.detail.value})},content1:function(e){console.log(e.detail.value)this.setData({content:e.detail.value})},radioChange:function(e){console.log(e.detail.value)this.setData({newsid:e.detail.value})},picfunction:function(){var that = thiswx.chooseImage({count: 1,sizeType:['compressed'],sourceType:['album','camera'],success:function(res){console.log(res)wx.showLoading({title: '上传中',})const filePath = res.tempFilePaths[0]var timestamp = (new Date()).valueOf();wx.cloud.uploadFile({cloudPath:"img/"+timestamp+".jpg",filePath:filePath,success:res=>{console.log('[上传文件]成功:',res)that.setData({img:res.fileID})},fail:e=>{console.error('[上传文件]失败',e)wx.showLoading({icon:'none',title: '上传失败',})},complete:()=>{wx.hideLoading()}})},fail:e=>{console.error(e)}})},submit:function(e){var that = thisvar myDate = new Date();if(that.data.thattitle == "请输入标题..." || that.data.content == "请输入内容..." || that.data.newsid == ''){wx.showToast({title: '您还有信息未填',icon:"none"})}else{that.setData({cTime:myDate.toLocaleDateString()//获取当前日期})const db = wx.cloud.database()wx.showLoading({title: '上传中',})db.collection('xuyuanqiang').add({data:{title:that.data.title,content:that.data.content,newsid:that.data.newsid,img:that.data.img,cTime:that.data.cTime,name:"许愿者:" + that.data.name},success:function(res){console.log("插入成功"+res)wx.hideLoading()},fail:console.error})wx.navigateTo({url: '../shouye/shouye',})}},/*** 生命周期函数--监听页面加载*/onLoad(options) {},/*** 生命周期函数--监听页面初次渲染完成*/onReady() {},/*** 生命周期函数--监听页面显示*/onShow() {},/*** 生命周期函数--监听页面隐藏*/onHide() {},/*** 生命周期函数--监听页面卸载*/onUnload() {},/*** 页面相关事件处理函数--监听用户下拉动作*/onPullDownRefresh() {},/*** 页面上拉触底事件的处理函数*/onReachBottom() {},/*** 用户点击右上角分享*/onShareAppMessage() {}})

app.wxss:

/**app.wxss**/
.container {display: flex;flex-direction: column;align-items: center;box-sizing: border-box;
} button {background: initial;
}button:focus{outline: 0;
}button::after{border: none;
}page {background: #f6f6f6;display: flex;flex-direction: column;justify-content: flex-start;
}
.lay_row_cen{width: 100%;display: flex;flex-direction: row;align-items: center;justify-content: center;
}
.lay_col_cen{width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;
}
.lay_col_spa{width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: space-between;
}
.lay_col_sta{width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: flex-start;
}
.lay_row_sta{width: 100%;display: flex;flex-direction: row;align-items: center;justify-content: flex-start;
}
.lay_row_spa{width: 100%;display: flex;flex-direction: center;justify-content: space-between;
}
.lay_row_end{width: 100%;display: flex;flex-direction: row;align-items: center;justify-content: flex-end;
}
.pad_20{padding: 20rpx;box-sizing: border-box;
}
.container {display: flex;flex-direction: column;align-items: center;box-sizing: border-box;
}
.case{background: -webkit-linear-gradient(top right,rgb(0, 162, 255),#e294fa,rgb(241, 224, 123));margin-top: 15rpx;box-shadow:  5rpx 5rpx 10rpx;border-radius: 20rpx;
}
.itemname{display: flex;flex-direction: column;justify-content: space-around;
}

基于微信小程序云开发(校园许愿墙app)妄想替代学校的表白墙相关推荐

  1. 基于微信小程序云开发(校园许愿墙app)2.0稳定版,以发布上线

    大家好~我是c站的一个小博主,我会定期更新博文,本篇是围绕微信小程序基于腾讯云开发展开的一个项目,如果看着还不错,或者对您有帮助的话,可以进我的专栏看看我的小程序的其他作品https://blog.c ...

  2. 校园二手书商城源代码基于微信小程序云开发,可在线支付提现,含详细配置教程

    校园二手书商城源代码基于微信小程序云开发,可在线支付提现,含详细配置教程 完整代码下载地址:校园二手书商城源代码基于微信小程序云开发 欢迎使用,下面是配置教程 长话短说,下面直接说配置流程 一.小程序 ...

  3. 基于微信小程序云开发的职业学校招生报名小程序源码,职业学校招生报名微信小程序源码 ,职业学校招生报名小程序源码

    功能介绍 这是一个以报名为核心的职业学校招生小程序,目的是方便想要系统学习技能,入门某项技能或者领域的初高中毕业生,了解该学校的基本情况及各个专业,并提供报名路径,致力于技能型人才培养. 本程序前后端 ...

  4. 基于微信小程序云开发的投票小程序源码,图文投票微信小程序源码

    功能介绍 投票活动十分火,商家,企业,机构偶尔都会来一场投票活动评选,本小程序支持图文投票,简单方便.随时随地完成投票,可以方便设定投票模式(按天按全程,投票数限定). 本代码前后端完整代码包投票列表 ...

  5. 基于微信小程序云开发的医院体检预约小程序源码,医院体检预约小程序源码,实现体检预约管理、体检预约凭证、预约数据查看导出 版权申诉

    功能介绍 对于医院体检科室和体检机构而言,每天的体检人数分布也不太均衡,若很多人集中在 某些天体检,会出现「医生强度大.体检人排队久」的问题.采用体检预约小程序进行体检预约数管理,体检人可预约到更广的 ...

  6. 基于微信小程序云开发的校园类平台

    这期给大家介绍一个我压箱底的项目,一个集二手市场.兼职发布.失物招领.代取快递等功能为一身的校园类平台. 前端使用ColorUI,后端使用微信小程序云开发. 现在已经上线发布,并且长期运营维护. 大家 ...

  7. 基于微信小程序云开发实现考研题库小程序项目(完整版)

    今天手把手的带大家实现一款答题类的题库小程序,如果着急的话,可以直接去看文末源码.下载与项目部署. 考研题库小程序云开发实战,完整版提供给大家学习.题库小程序,基于云开发的微信答题小程序,软件架构是微 ...

  8. 基于微信小程序云开发实现的婚礼邀请函模板,可以自行定制开发

    这个婚礼邀请函是之前帮别人做的,现在人家婚礼举办过了也没啥关系了,想着就修改成通用模板进行开源,方便大家尤其是小白们克隆项目之后稍微修改就能够直接使用. 当时自己开始这个项目时候也是查阅了很多教程文章 ...

  9. 微信小程序云开发校园社交二手物品跳蚤平台表白动态求助寻物组队,完整免费,配置即用

    文章目录 1 概述 2 用户使用 3 平台首页 4 校园社交页 5 物品发布页 6 动态发表页 7 我的 8 物品详情页 9 动态详情页 10 搜索页 特别说明 1 概述 1.1 关于本手册 为了使您 ...

最新文章

  1. zabbix环境安装搭建
  2. 暖通空调系统计量表选型与应用
  3. VS2008 安装盘的问题
  4. Nacos(十二)之Java SDK
  5. 深入mysql语言_MySQL对数据操作的一些深入语法
  6. MySQL 创建索引和索引效率验证
  7. 构建项目时发生错误 - 错误:CS0006“... \ Assembly-CSharp-firstpass.dll”找不到
  8. 1号店案例html源码_手把手教一起写jQuery版mini源码,分析jQuery的优势
  9. FinTech领域实践:乐维监控助力西南某上市城商行IT运维转型升级!
  10. 数据文件坏删除数据文件
  11. opencv java 人脸识别_Java OpenCV实现人脸识别过程详解
  12. 延迟渲染,及材质ID
  13. 机器学习实战 | 综合项目-电商销量预估
  14. PS的30个实用技巧大全
  15. 计算机屏幕抖动怎么办,电脑显示屏画面颤抖是怎么回事?
  16. 02-AD软件基本使用第二讲(器件介绍)
  17. 开发一个app,需要申请哪些,费用是多少?
  18. 线下WINDOWS主机挂载华为云存储
  19. signal 11 linux,关于运行时Signal 11 Caught的错误
  20. 参数方程求二阶导时候不能直接把y,x分别对t求二阶导然后再相除作为d²y/dx²的原因

热门文章

  1. 205 Isomorphic Strings
  2. listview-联系人列表
  3. MySQL 5.7安装教程
  4. 游戏数值策划属性篇(二):属性价值评估
  5. Oracle数据库表空间变更路径位置
  6. HTML水平垂直居中的四种方式
  7. 学会这10招,让你的服装短视频带货率提升50%
  8. 基于时间序列的残差自回归模型
  9. python答案大全_大学慕课2020用Python玩转数据答案大全
  10. php swoole 直播,swoole能做直播吗_PHP开发框架教程