微信小程序官方文档

https://developers.weixin.qq.com/miniprogram/dev/framework/

微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。

全面开放申请后,主体类型为企业、政府、媒体、其他组织或个人的开发者,均可申请注册小程序。微信小程序、微信订阅号、微信服务号、微信企业号是并行的体系。

微信小程序是一种不用下载就能使用的应用,也是一项创新,经过将近两年的发展,已经构造了新的微信小程序开发环境和开发者生态。微信小程序也是这么多年来中国IT行业里一个真正能够影响到普通程序员的创新成果,已经有超过150万的开发者加入到了微信小程序的开发,与我们一起共同发力推动微信小程序的发展,微信小程序应用数量超过了一百万,覆盖200多个细分的行业,日活用户达到两个亿,微信小程序还在许多城市实现了支持地铁、公交服务。微信小程序发展带来更多的就业机会,2017年小程序带动就业104万人,社会效应不断提升。

image.png

1. 获取用户基本信息

  1. getUserProfile(e) {
  2. // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
  3. // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
  4. wx.getUserProfile({
  5. desc: '展示用户信息', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
  6. success: (res) => {
  7. console.log(res)
  8. this.setData({
  9. userInfo: res.userInfo,
  10. hasUserInfo: true
  11. })
  12. }
  13. })
  14. }

2. 配置前后端交互请求

新建服务器信息配置项:

  1. // 配置服务器相关信息
  2. export default {
  3. host: "http://localhost:8080"
  4. }

新建工具utils:request.js

  1. import config from "./config";
  2. export default (url, data = {}, method = 'GET') => {
  3. return new Promise((resolve,reject) => {
  4. wx.request({
  5. url: config.host + url,
  6. data,
  7. method,
  8. success: (res) => {
  9. resolve(res);
  10. },
  11. fail: (err) => {
  12. reject(err);
  13. }
  14. })
  15. })
  16. }

3. 内网穿透工具uTools

小蚂蚁

小蚂蚁是之前用过的一款工具,是国内软件,自主开发的。支持所有基于TCP、UDP协议的应用及协议,包括HTTP、SSH、SMTP、GIT、MYSQL等,类似于国内的花生壳,有免费版和收费版本,外网端口自定义分配,不可修改,试用的可以一直用,不过过段时间要激活。高速隧道的可支持所有协议,且不限制流量的使用。

网云穿

也是测试过的一款国内自主研发软件,直接对外发布应用, 映射转发本地socket端口, 外网直接访问, 支持HTTPS协议以及SSL证书, 支持异常流量过滤.支持FTP、SVN、管家婆、金碟、ERP、视频监控等所有应用!均有试用版与商业版,自己测试即可。

闪库

这个也是软件他是可以私有部署在服务器,比较方便,试用版是个人测试远程桌面,基本够用了。带宽2mbps,隧道采用的是双向加密传输的,全协议支持 ,提供公网ip。

4. 表单项数据处理event

  1. <view class="" hover-class="none" hover-stop-propagation="false">
  2. phone: <input type="text" id="phone" bindtap="handleInput" />
  3. password: <input type="text" id="password" bindtap="handleInput" />
  4. </view>
  1. data: {
  2. phone: "",
  3. password: ""
  4. },
  5. handleInput(event){
  6. let type = event.currentTarget.id;
  7. this.setData({
  8. [type]: event.detail.value,
  9. })
  10. }