Skip to content

微信小程序开发基础框架,有着标准的目录分层结构,支持ES6的Promise链式调用,同时对Http请求进行封装,前端UI使用小程序量身定制的基础样式库WeUI,使用者可以直接在此基础扩展开发,不受版权控制。

moyuanhui/miniBasic

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

小程序开发框架模板

支持WEUI前端框架

支持wxui样式库

对Http请求进行封装

import Promise from "../plugin/promise"

let wxPromisify = fn => {
    return function (obj = {}) {
        return new Promise((resolve, reject) => {
            obj.success = function (res) {
                resolve(res)
            }
            obj.fail = function (res) {
                reject(res)
            }
           
            fn(obj)
        })
    }
}
//无论promise对象最后状态如何都会执行
Promise.prototype.finally = callback => {
    let P = this.constructor;
    return this.then(
        value => P.resolve(callback()).then(() => value),
        reason => P.resolve(callback()).then(() => { throw reason })
    );
}

/**
 * 微信请求get方法
 * url
 * data 以对象的格式传入
 */
let getRequest = (url, data) => {
    var getRequest = wxPromisify(wx.request)
    return getRequest({
        url: url,
        method: 'GET',
        data: data,
        header: {
            'Cookie':  wx.getStorageSync("sessionid")
        }
    })
}

/**
 * 微信请求post方法封装
 * url
 * data 以对象的格式传入
 */
let postRequest = (url, data) => {
    var postRequest = wxPromisify(wx.request)
    return postRequest({
        url: url,
        method: 'POST',
        data: data,
        header: {
            'Cookie': wx.getStorageSync("sessionid")
        }
    })
}

module.exports = {
    postRequest: postRequest,
    getRequest: getRequest
}

封装WxUtil请求

import Promise from "../plugin/promise.js"

let wxPromisify = (fn) => {
    return function (obj = {}) {
        return new Promise((resolve, reject) => {
            obj.success = function (res) {
                resolve(res)
            }
            obj.fail = function (res) {
                reject(res)
            }
            fn(obj)
        })
    }
}
//无论promise对象最后状态如何都会执行
Promise.prototype.finally = (callback) => {
    let P = this.constructor;
    return this.then(
        value => P.resolve(callback()).then(() => value),
        reason => P.resolve(callback()).then(() => { throw reason })
    );
};
/**
 * 微信用户登录,获取code
 */
let wxLogin = () => {
    return wxPromisify(wx.login)
}
//获取授权信息
let wxSetting = () => {
    return wxPromisify(wx.getSetting)
}

/**
 * 获取微信用户信息
 * 注意:须在登录之后调用
 */
let wxGetUserInfo = (withCredentials) => {
    var wxGetUserInfo = wxPromisify(wx.getUserInfo)
    return wxGetUserInfo({
        withCredentials: withCredentials
    })
}

let wxAuthorize = (scope)=>{
    var wxAuthorize = wxPromisify(wx.authorize)
    return wxAuthorize({
        scope:scope
    })
}


/**
 * 获取系统信息
 */
let wxGetSystemInfo = () => {
    return wxPromisify(wx.getSystemInfo)
}

/**
 * 保留当前页面,跳转到应用内的某个页面
 * url:'../index/index'
 * params:{key:value1}
 */
let wxNavigateTo = (url, params) => {
    var wxNavigateTo = wxPromisify(wx.navigateTo)
    const serializedParams = this.paramSerializer(params)
    if (serializedParams.length > 0) {
        url += ((url.indexOf('?') == -1) ? '?' : '&') + serializedParams
    }
    return wxNavigateTo({
        url: url
    })
}
module.exports = {
    wxPromisify,
    wxLogin,
    wxSetting,
    wxAuthorize,
    wxGetUserInfo,
    wxGetSystemInfo,
    wxNavigateTo
}

首页效果

About

微信小程序开发基础框架,有着标准的目录分层结构,支持ES6的Promise链式调用,同时对Http请求进行封装,前端UI使用小程序量身定制的基础样式库WeUI,使用者可以直接在此基础扩展开发,不受版权控制。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published