UNPKG

@mokelao/leancloud-library

Version:

基于leancloud的js封装库

281 lines (265 loc) 8.29 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>test page</title> </head> <body> <h1>test</h1> <button type="button" value="1" onclick="login()">登陆管理员</button> <button type="button" value="1" onclick="createUser()">新建新用户</button> <button type="button" value="2" onclick="createRole()">新建角色</button> <button type="button" onclick="addRole2User()">用户添加角色</button> <button type="button" onclick="getUserData()">获取当前用户数据</button> <button type="button" onclick="addObject()">新建对象</button> <button type="button" onclick="deleteObject()">删除对象</button> <button type="button" onclick="findObject()">查询对象</button> <script type="module"> import LC from './dist/bundle.esm.js' const initData = { appId: 'pkokV2z57Y0YBsTftakODfMg-MdYXbMMI', appKey: 'lxf5HKKwp4dCMOqmzu0GTPUl', // serverURL: 'https://lc.zorvin.com', } const defaultACL = { writeRole: ['master', 'admin', 'test1'], } const $http = new LC(initData, defaultACL) $http.interceptors.request.use( (config) => { console.log('响应拦截') console.log(config) // throw new Rrror('no') return config }, (err) => { return Promise.reject(err) } ) $http.interceptors.response.use( (config) => { console.log('请求拦截') if (config) { const data = [] if (config.length) { config.forEach((item) => { data.push(item.toJSON()) }) return data } else if ( Object.prototype.toString.call(config) === '[object Object]' && config.toJSON ) { return config.toJSON() } else { return config } } return false }, (err) => { console.log(err) return Promise.reject(err) } ) window.login = function () { $http .User() .logIn({ email: '1140762316@qq.com', password: 'admin' }) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.createUser = function () { const acl = $http.ACL().createACL({ writeRole: ['master', 'admin'], }).avObject $http .User() .register({ username: 'test4', password: '123456', acl }) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.createRole = function () { // const acl = $http.ACL().createACL({ // writeRole: ['master', 'admin'], // }).avObject $http .Role('test2') .save() .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.addRole2User = async () => { const filter = [{ username: 'admin' }] const user = await $http.User().searchUser({ filter }) const userId = user.objectId $http .User() .addMember2Role({ userId, roleId: '61528cc95e0db15b17f0f3a0', }) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.addObject = () => { const datas = [ // createData { defaultCate: { pointType: 'Cate_Banner', name: 'banner3', }, testObj: { sex: 'mans', }, acl: { writeRole: ['master', 'admin', 'test'], }, }, // fentchData { objectId: '628dee60fae7474740d3fbe8', data: { defaultCate: { pointType: 'Cate_Banner', name: 'banner1', }, testObj: { sex: 'woman + man', }, }, }, ] $http .Object('Test') .setData(datas) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.getUserData = () => { $http.User().getInfo() } window.findObject = () => { // const cateBanner = $http.Query('Cate_Banner').getData( // { // filter: [{ property: 'id', operator: 'equalTo', value: 1 }], // }, // true // ) const screen = { page: 1, start: 0, limit: 1, sort: [ { property: 'name', direction: 'descending' }, { property: 'createdAt', direction: 'ascending' }, ], filter: [ // { property: 'name', operator: 'equalTo', value: 'test' }, // { // property: 'level', // operator: 'matchesKeyInQuery', // value: { id: cateBanner }, // }, { property: 'defaultCate', operator: 'include' }, { operator: 'includeACL', value: true }, // { // property: 'defaultCate', // operator: 'equalTo', // value: { // pointType: 'Cate_Banner', // objectId: '6131de50e2731473b2a9103b', // }, // }, ], } $http .Query('Test') .getData(screen) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } window.deleteObject = () => { const filter = ['62933e418a6bd43571a918d6'] $http .Object('Test') .deleteData(filter) .then((res) => { console.log(res) }) .catch((err) => { console.log(err) }) } // $http.User().getRoles().then((res) => { // console.log(res); // }).catch((err) => { // console.log(err); // }) // $http.Query('_User').first().then((res) => { // console.log(res); // }).catch((err) => { // console.log(err); // }) // const Todo = $http.Object().extend('Todo') // const todo = new Todo(); // todo.set({test: '111'}).save().then((res) => { // console.log(res); // }).catch((err) => { // console.log(err); // }) // $http.Object().createWithoutData('Todo', '627e84e8a3842e3a5c3995c5').set({ test2: '554' }).save().then((res) => { // console.log(res); // }).catch((err) => { // console.log(err); // }) // const _getUser = () => $http.User().current() // const acl = $http // .ACL() // .setPublicReadAccess(true) // .setWriteAccess(_getUser(), true) // .setRoleWriteAccess('master', true) // .setRoleWriteAccess('admin', true).avObject; // $http.Object().createWithoutData('Todo', '627e84e8a3842e3a5c3995c5').setACL(acl).save().then((res) => { // console.log(res); // }).catch((err) => { // console.log(err); // }) // const user = $http.User(); // user.setUsername('Tom'); // user.setPassword('cat!@#123'); // user.signUp().then((res) => { // console.log(`注册成功。objectId:${res.id}`); // }, (err) => { // console.log(err); // }); </script> </body> </html>