美文网首页
页面跳转以及用户授权、登录

页面跳转以及用户授权、登录

作者: 稻草人_9ac7 | 来源:发表于2019-11-07 15:10 被阅读0次
    image.png

    格式化

    新建一个wxs文件index.wxs


    image.png

    在需要的文件中导入


    image.png

    使用


    image.png

    格式化步骤:

    1. 新建xxx.wxs文件,比如

       // 格式化金额
       function toFixed(num){
         num = (num / 100); 
         return num.toFixed(2);
      }
      
      function formatDate(tiem) {
        // 详细的逻辑
      }
      
      module.exports = {
        toFixed: toFixed,
        formatDate: formatDate
      }
      
    2. 在需要使用wxml文件中导入

      <wxs src="../../../wxs/index.wxs" module="F"/>
      
    3. 使用

       <text class="ren">¥</text>
       <text class="priceNum">
           {{F.toFixed(item.minPrice)}}
       </text>
      

    授权

    image.png

    保存token

    image.png

    request.js的配置

    import { baseUrl } from "./config.js";
    
    
    /**
     * 封装请求
     * url:请求地址
     * data:请求参数
     * method: 请求类型
     */
    
    
    const request = (url, data, method) => {
      // 获取token,登录时存的
      let token = wx.getStorageSync("token");
      url = baseUrl + url;
      return new Promise((resolve, reject) => {
        // 请求
        wx.request({
          url,
          method,
          data,
          header: {
            "user-token": token
          },
          success: res => {
            if (res.data.code == 666) {
              resolve(res.data);
            } else if (res.data.code == 603) {        
              wx.showModal({
                title: "提示",
                content: "登录已过期,是否重新登录",
                success(res) {
                  if (res.confirm) {
                    // 跳转到个人中心页面
                    wx.switchTab({
                      url: "/pages/my/my"
                    });
                  } else if (res.cancel) {
                    console.log("用户点击取消");
                  }
                }
              });
            } else {
              reject(res.data.msg);
            }
          },
          fail: err => {
            reject("网络异常");
          }
        });
      });
    };
    
    
    const get = (url, data) => {
      return request(url, data, "get");
    };
    
    
    const post = (url, data) => {
      return request(url, data, "post");
    };
    
    
    export default {
      get,
      posth
    };
    
    

    需要授权页面 js文件的配置

      login(event) {
        wx.login({
          success: (res) => {
            let { iv, encryptedData, userInfo } = event.detail;
            let url = '/user/login';
            let data = {
              iv, encryptedData, userInfo, code: res.code
            }
            app.$post(url, data).then(res => {
              console.log(res);
              // 把token存入缓存
              let {token} = res.user;
              wx.setStorageSync('token', token);
    
    
            }).catch(err => {
              console.log(err);
            })
          }
        })
    
    

    视图

    //xxx.wxml
    <button open-type="getUserInfo" bindgetuserinfo='login' >登录</button>
    

    相关文章

      网友评论

          本文标题:页面跳转以及用户授权、登录

          本文链接:https://www.haomeiwen.com/subject/fgrmbctx.html