zoukankan      html  css  js  c++  java
  • 小程序

    存储数据
    wx.setStorageSync("number_phonenum", res.data.data.phoneNumber)
    
    获取存储的数据
    wx.getStorageSync("number_phonenum"),
    <open-data type="userAvatarUrl"></open-data>    //获取用户头像直接显示在小程序中
    <open-data type="userNickName" lang="zh_CN"></open-data>    //获取用户昵称直接显示在小程序中
    //更改checkbox选中后的样式
    checkbox .wx-checkbox-input.wx-checkbox-input-checked {
      background: #FF525C;
      color: #FFF;
    }
    
    //更改checkbox选中前的样式
    checkbox .wx-checkbox-input {
      border-radius: 50%;
    }
    小程序页面跳转
    navigateTo, redirectTo 只能打开非 tabBar 页面。 switchTab 只能打开 tabBar 页面。 reLaunch 可以打开任意页面。 解决方法: 把index.js中的wx.redirectTo换成wx.reLaunch
    微信小程序页面几秒后自动跳转
    setTimeout(function () {
      wx.reLaunch({
         url: '../appointments/appointments'
       })
    }, 2000)
    小程序弹窗提示
    wx: wx.showToast({
      title: '预约成功',
      icon: 'success',
      duration: 2000,
      image: '../../img/dui.png',
    })

    参数讲解:

    title          --------     标题,要显示的提示信息

    icon         --------     图标,只支持"success"、"loading"

    image     --------    自定义图标的本地路径,image的优先级高于icon

    duration  --------    提示的延迟时间,单位毫秒,默认:1500

    mask       --------   是否显示透明蒙层,防止触摸穿透,默认:false

    小程序判断输入框是否为空
    if (name == '') {
      wx: wx.showToast({
        title: '请输入姓名'
      })
      return false
      }
      else if (phone == '') {
        wx: wx.showToast({
          title: '请输入手机号'
        })
        return false
    }
    判断元素是否显示
    <view wx:if="{{number_phonenum != ''}}">{{number_phonenum}}</view>
    微信小程序获取手机号流程
    小程序需企业认证,才可以获取用户的手机号,个人开发者是不能获取的
    官方文档给出需先登录才可获取手机号 传送门 思路为:login登录获取code
    -->code传给后台-->后台根据code获取sessionKey 前台通过触发获取手机号事件得到加密数据-->传给后台,后台通过之前获取的 sessionKey来解密,并将数据返回给前台 code传给后台时后台需去访问官网给的接口去检验 传送门 getPhoneNumber: function (e) { let _this = this; if (e.detail.errMsg == "getPhoneNumber:ok") { //校验是否过期 wx.checkSession({ success: function () { // session_key 未过期,并且在本生命周期一直有效 _this.gettel(e);//获取手机号 }, fail: function () { // session_key 已经失效,需要重新执行登录流程 wx.login({ success: function (res) { wx.request({ url: 'xxxxxx', method: 'post', data: { code: res.code }, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function (r) { _this.gettel(e);//获取手机号 }, fail: function (err) { console.log("登录失败"); console.log(err); } }) } }) } }) } else { wx.showModal({ title: '提示', content: '需获取信息才可查看历史预约', }) } }, gettel: function (e) { let _this = this; let iv = e.detail.iv; let encryptedData = e.detail.encryptedData; wx.request({ url: 'xxxxxxxxxxxxxxxx', method: 'post', data: { iv: iv, encryptedData: encryptedData }, header: { 'Content-Type': 'application/x-www-form-urlencoded' }, success: function (res) { console.log(res);//手机号在这里面哦 <!--let item = JSON.parse(res.data.data);--> }, fail: function (err) { console.log(err); } }) } wx.login首次登录我写在需要获取手机号时的page中onload事件中 因为login返回的code有时效,所以在需要的时候在调用 !该内容来自博客园:https://www.cnblogs.com/ybchen292/p/11567585.html
    登录 + 获取用户信息
    onLaunch: function () {
        // 展示本地存储能力
        var logs = wx.getStorageSync('logs') || []
        logs.unshift(Date.now())
        wx.setStorageSync('logs', logs)
    
        // 登录
        wx.login({
          success (res) {
            if (res.code) {
              //发起网络请求
              wx.request({
                url: 'xxxx',
                data: {
                  code: res.code
                },
                success (res) {
                  console.log(res);
                  wx.removeStorageSync('sessionid');
                  //储存res.header['Set-Cookie']
                  wx.setStorageSync("sessionid", res.header["Set-Cookie"]);
                }
              })
            } else {
              console.log('登录失败!' + res.errMsg)
            }
          }
        })
        // 获取用户信息
        wx.getSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {
              // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
              wx.getUserInfo({
                success: res => {
                  // 可以将 res 发送给后台解码出 unionId
                  this.globalData.userInfo = res.userInfo
    
                  // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
                  // 所以此处加入 callback 以防止这种情况
                  if (this.userInfoReadyCallback) {
                    this.userInfoReadyCallback(res)
                  }
                }
              })
            }
          }
        })
      },
    底部菜单栏与头部样式
    "window": {
        "backgroundTextStyle": "light",
        "navigationBarBackgroundColor": "#fff",
        "navigationBarTitleText": "预约",
        "navigationBarTextStyle": "black"
      },
      "tabBar": {
        "selectedColor": "#1E90FF",
        "fontSize": "40px",
        "list": [{
          "pagePath": "pages/home/home",
          "text": "预约"
        },
        {
          "pagePath": "pages/appointments/appointments",
          "text": "个人中心"
        }]
      },
      "sitemapLocation": "sitemap.json"
    //判断状态
    <text class='tv_title' wx:if="{{status == 1}}">订单完成</text> <text class='tv_title' wx:elif="{{status == 2}}">该预约已取消</text> <text class='tv_title' wx:else>预约成功</text>
    //获取验证码
    obtain: function(){ var that = this; that.setData({ gettime: true }); let getsix = setInterval(function(){ let times = that.data.counts - 1; that.setData({ counts: times }); if (that.data.counts < 1){ clearInterval(that.data.counts); that.setData({ gettime: false, counts: 60 }) } },1000); wx.request({ url: dispose.HOST + '接口', method: 'GET', header: { //将sessionid放在cookie中以请求头的方式带回给服务端 'cookie': wx.getStorageSync("sessionid") }, data:{ telephone: this.data.number_phonenum }, success: function(res){ console.log(res); } }) }, confirm_btn: function(){ console.log("确定") if(this.data.captcha_val == ""){ wx: wx.showToast({ title: '验证码不能为空', icon: 'success', duration: 2000, image: '../../img/cuo.png', }) }else{ this.sub() } },
  • 相关阅读:
    FSLIB.NETWORK 简易使用指南
    在CentOS上安装owncloud企业私有云过程
    用于ViEmu的重置为试用状态的Python脚本
    Microsoft.Office.Interop.Excel 报错
    FineUIMvc表格数据库分页,使用CYQ.Data组件
    如何在已有项目中引入FineUIMvc
    按键精灵-常用脚本命令汇集
    微信分享代码
    [教程] 【原创】媒体扫描耗电的彻底解决办法(申精)
    Less学习笔记
  • 原文地址:https://www.cnblogs.com/yyy251/p/14440428.html
Copyright © 2011-2022 走看看