@mokelao/leancloud-library
Version:
基于leancloud的js封装库
281 lines (265 loc) • 8.29 kB
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>