taro-hooks
Version:
为 Taro 而设计的 Hooks Library
42 lines (41 loc) • 1.36 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var tslib_1 = require("tslib");
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
var usePromise_1 = tslib_1.__importDefault(require("../usePromise"));
var useAuthorize_1 = tslib_1.__importDefault(require("../useAuthorize"));
var tool_1 = require("../utils/tool");
function useUserInfo() {
var _ref = (0, core_1.useState)(),
userInfo = _ref[0],
setUserInfo = _ref[1];
var _ref2 = (0, useAuthorize_1["default"])(),
get = _ref2.get;
var getInfo = (0, usePromise_1["default"])(taro_1.getUserInfo);
var getProfile = (0, usePromise_1["default"])(taro_1.getUserProfile);
var getUserInfo = function getUserInfo(options) {
return get().then(function (res) {
if (res.authSetting['scope.userInfo']) {
return getInfo(options).then(function (res) {
setUserInfo(res);
return res;
});
}
return (0, tool_1.generateGeneralFail)('getUserInfo', 'please auth scope.userInfo first');
});
};
var getUserProfile = function getUserProfile(option) {
return getProfile(option).then(function (res) {
setUserInfo(res);
return res;
});
};
return [userInfo, {
getUserInfo: getUserInfo,
getUserProfile: getUserProfile
}];
}
exports["default"] = useUserInfo;
;