cloudfunctions/SegmentPortraitPic/node_modules/@cloudbase/node-sdk/lib/auth/index.js
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const jsonwebtoken_1 = __importDefault(require("jsonwebtoken"));
const utils_1 = require("../utils/utils");
const code_1 = require("../const/code");
const cloudbase_1 = require("../cloudbase");
const symbol_1 = require("../const/symbol");
const httpRequest_1 = __importDefault(require("../utils/httpRequest"));
const checkCustomUserIdRegex = /^[a-zA-Z0-9_\-#@~=*(){}[\]:.,<>+]{4,32}$/;
function validateUid(uid) {
if (typeof uid !== 'string') {
// console.log('debug:', { ...ERROR.INVALID_PARAM, message: 'uid must be a string' })
throw utils_1.E(Object.assign({}, code_1.ERROR.INVALID_PARAM, { message: 'uid must be a string' }));
}
if (!checkCustomUserIdRegex.test(uid)) {
throw utils_1.E(Object.assign({}, code_1.ERROR.INVALID_PARAM, { message: `Invalid uid: "${uid}"` }));
}
}
function auth(cloudbase) {
return {
getUserInfo() {
const { WX_OPENID, WX_APPID, TCB_UUID, TCB_CUSTOM_USER_ID, TCB_ISANONYMOUS_USER } = cloudbase_1.CloudBase.getCloudbaseContext();
return {
openId: WX_OPENID || '',
appId: WX_APPID || '',
uid: TCB_UUID || '',
customUserId: TCB_CUSTOM_USER_ID || '',
isAnonymous: TCB_ISANONYMOUS_USER === 'true' ? true : false
};
},
getEndUserInfo(uid, opts) {
const { WX_OPENID, WX_APPID, TCB_UUID, TCB_CUSTOM_USER_ID, TCB_ISANONYMOUS_USER } = cloudbase_1.CloudBase.getCloudbaseContext();
const defaultUserInfo = {
openId: WX_OPENID || '',
appId: WX_APPID || '',
uid: TCB_UUID || '',
customUserId: TCB_CUSTOM_USER_ID || '',
isAnonymous: TCB_ISANONYMOUS_USER === 'true' ? true : false
};
if (uid === undefined) {
return {
userInfo: defaultUserInfo
};
}
validateUid(uid);
const params = {
action: 'auth.getUserInfoForAdmin',
uuid: uid
};
return httpRequest_1.default({
config: cloudbase.config,
params,
method: 'post',
opts,
headers: {
'content-type': 'application/json'
}
后面还有 63 行代码,购买后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
