欧美日韩国产一区,亚洲一区视频,色综合久久久久,私密按摩师舌头伸进去了,99re6这里只有精品,夜夜性日日交xxx性hd

小程序判斷是否授權源碼auth.js

  • • 發表于 8年前
  • • 作者 宿遷老葛
  • • 3981 人瀏覽
  • • 0 條評論
  • • 最后編輯時間 8年前
  • • 來自 [開發工具]

原創聲明:本文為作者原創,未經允許不得轉載,經授權轉載需注明作者和出處

一、auth.js

const configGlobal = require('../config/config_global.js');
var util = require('function.js');
var http = require('http.js');
var app = getApp();
var authHandler = {
    success: function(res) {},
    fail: function(res) {},
    complete: function(res) {},
};

/*
 * 得到保存的SESSION
 */
function getSession() {
    var session = null;
    try {
        session = wx.getStorageSync('session');
        if (session) {
            wx.checkSession({
                success: function(res) {
                    setAppGlobalData(session);
                },
                fail: function(res) {
                    session = null;
                    setAppGlobalData(session);
                }
            });
        } else {
            session = null;
            setAppGlobalData(session);
        }
    } catch (e) {}

    return session;
};


/**
 * [putLoginLog description]--記錄登錄日志
 * @return {[type]} [description]
 */
function putLoginLog() {
    http.POST({
        url: '/_WxaappApiServer/putLoginLog',
        data: {
            openId: app.globalData.openId,
        },
        success: function(res) {

            if (res.data.code == '0') {} else {}
        },
        fail: function(res) { console.log('request失敗,res:', res); },
        complete: function(res) {}
    });
};

function setAppGlobalData(session) {
    app.globalData.openId = session.openId;
    app.globalData.unionid = session.unionid;
    app.globalData._3rd_session = session._3rd_session;
    app.globalData.userInfo = session.userInfo;
};

function getUserInfo(authHandler) {
    // 調用登錄接口
    wx.login({
        success: function(res) {
            var code = res.code;

            wx.getUserInfo({
                lang: 'zh_CN',
                success: function(res) {

                    http.POST({
                        url: '/_WxaappApiServer/getUserInfo',
                        data: {
                            code: code,
                            iv: res.iv,
                            encryptedData: res.encryptedData,
                        },
                        success: function(res) {
                            //對userInfo重新賦值
                            if (res.data.code == "0") {
                                var session = res.data.data;
                                try {
                                    wx.setStorageSync('session', session);
                                    setAppGlobalData(session);
                                    authHandler.success();
                                } catch (e) {}
                            } else {}
                        },
                        fail: function(res) { console.log('request失敗,res:', res); },
                        complete: function(res) {}
                    });

                },
                fail: function(res) {
                    openSettingUserInfo(authHandler);
                },
                complete: function(res) {},
            })
        },
        fail: function(res) {
            console.log("登錄失敗!");
        },
        complete: function(res) {},
    });
};

function openSettingUserInfo(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.userInfo']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“用戶信息”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.userInfo': true,
                                    };
                                    // authHandler.success();
                                },
                                complete: function(res) {
                                    openSettingUserInfo(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSettingUserInfo(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSettingUserInfo(authHandler);
                        }

                    }
                });

            } else {
                getUserInfo(authHandler);
            }
        }
    })
};



/**
 * 授權--用戶登錄
 * @param  {[type]} authHandler [description]
 * @return {[type]}                [description]
 */
function userInfo(authHandler) {
    var session = null;
    try {
        session = wx.getStorageSync('session');
        if (session) {
            wx.checkSession({
                success: function() {
                    setAppGlobalData(session);
                    authHandler.success();
                },
                fail: function() {
                    session = null;
                    getUserInfo(authHandler);

                }
            });
        } else {
            session = null;
            getUserInfo(authHandler);
        }
    } catch (e) {
        authHandler.fail();
    }

    return session;
}

/**
 * 授權--地理位置 wx.getLocation, wx.chooseLocation
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function userLocation(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.userLocation']) {
                wx.authorize({
                    scope: 'scope.userLocation',
                    success() {},
                    complete() {
                        openSetting_userLocation(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_userLocation(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.userLocation']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“地理位置”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.userLocation': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_userLocation(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_userLocation(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_userLocation(authHandler);
                        }

                    }
                });
            } else {
                userLocation(authHandler);
            }
        }
    })
};


/**
 * 授權--通訊地址 wx.chooseAddress
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function address(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.address']) {
                wx.authorize({
                    scope: 'scope.address',
                    success() {},
                    complete() {
                        openSetting_address(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_address(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.address']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“通訊地址”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.address': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_address(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_address(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_address(authHandler);
                        }

                    }
                });
            } else {
                address(authHandler);
            }
        }
    })
};



/**
 * 授權--發票抬頭 wx.chooseInvoiceTitle
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function invoiceTitle(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.invoiceTitle']) {
                wx.authorize({
                    scope: 'scope.invoiceTitle',
                    success() {},
                    complete() {
                        openSetting_invoiceTitle(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_invoiceTitle(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.invoiceTitle']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“發票抬頭”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.invoiceTitle': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_invoiceTitle(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_invoiceTitle(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_invoiceTitle(authHandler);
                        }

                    }
                });
            } else {
                invoiceTitle(authHandler);
            }
        }
    })
};



/**
 * 授權--微信運動步數 wx.getWeRunData
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function werun(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.werun']) {
                wx.authorize({
                    scope: 'scope.werun',
                    success() {},
                    complete() {
                        openSetting_werun(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_werun(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.werun']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“微信運動步數”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.werun': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_werun(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_werun(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_werun(authHandler);
                        }

                    }
                });
            } else {
                werun(authHandler);
            }
        }
    })
};


/**
 * 授權--錄音功能 wx.startRecord
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function record(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.record']) {
                wx.authorize({
                    scope: 'scope.record',
                    success() {},
                    complete() {
                        openSetting_record(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_record(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.record']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“錄音功能”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.record': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_record(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_record(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_record(authHandler);
                        }

                    }
                });
            } else {
                record(authHandler);
            }
        }
    })
};


/**
 * 授權--保存到相冊 wx.saveImageToPhotosAlbum, wx.saveVideoToPhotosAlbum
 * @param  {[type]} authHandler [description]
 * @return {[type]}             [description]
 */
function writePhotosAlbum(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.writePhotosAlbum']) {
                wx.authorize({
                    scope: 'scope.writePhotosAlbum',
                    success() {},
                    complete() {
                        openSetting_writePhotosAlbum(authHandler)
                    }
                })
            } else {
                authHandler.success();
            }
        }
    })
};

function openSetting_writePhotosAlbum(authHandler) {
    wx.getSetting({
        success(res) {
            if (!res.authSetting['scope.writePhotosAlbum']) {
                wx.showModal({
                    title: '',
                    content: '請先完成授權!在設置頁面中勾選“保存到相冊”選項,否則部分功能將受限。',
                    showCancel: true,
                    confirmText: '前去設置',
                    confirmColor: '#004b97',
                    success: function(res) {

                        if (res.confirm) {
                            wx.openSetting({
                                success: (res) => {
                                    res.authSetting = {
                                        'scope.writePhotosAlbum': true,
                                    };
                                },
                                complete: function(res) {
                                    openSetting_writePhotosAlbum(authHandler);
                                },
                            })
                        }

                        if (res.cancel) {
                            authHandler.fail();
                            // 注釋上一行,啟用下面這一行,就是強制用戶授權
                            // openSetting_writePhotosAlbum(authHandler); //強制授權
                        }

                        if (!res.confirm && !res.cancel) {
                            openSetting_writePhotosAlbum(authHandler);
                        }

                    }
                });
            } else {
                writePhotosAlbum(authHandler);
            }
        }
    })
};

module.exports = {
    userInfo: userInfo,
    userLocation: userLocation,
    address: address,
    invoiceTitle: invoiceTitle,
    werun: werun,
    record: record,
    writePhotosAlbum: writePhotosAlbum,
    putLoginLog: putLoginLog,
    getSession: getSession,
};

二、如何使用

在你的JS文頭,引用auth.js

var auth = require('../../utils/auth.js');


        // 在調用通訊地址判斷是否開啟授權,如果沒開啟就會自動調用授權
        auth.address({
            success: function(res) {
                console.log('已授權');
                // 這兒寫你的業務邏輯

            },
            fail: function(res) {
                console.log('未授權');
                wx.showToast({
                    title: '未授權',
                    duration: 2000
                });

            }
        });

三、更快速開發

上述代碼中的函數請到下面的地址中的DEMO下載

WxappPlugin4SublimeText - sublime_text的微信小程序開發插件,能自動提示和代碼補全。非常不錯哦

https://gitee.com/abis/WxappPlugin4SublimeText

分享到:
0條評論
Ctrl+Enter
作者

宿遷老葛

宿遷老葛

APP:0 帖子:1 回復:0 積分:13

已加入社區[2748]天

沒啥可說的,看代碼!

作者詳情》
Top