minchao-js-sdk
Version:
318 lines (299 loc) • 9.93 kB
JavaScript
let MS = require("./ms.js")
const request = require("./request.js")
const Error = require('./error')
const storage = require("./storage.js")
const {
isString,
isUndefined,
isNumber
} = require('./dataType')
const user = class user {
constructor() {
}
login(code) {
if (!isString(code)) {
throw new Error(415)
}
let data = {code: code}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_LOGIN, 'GET', data).then(res => {
storage.save('msUser', res.data)
resolve(res)
}).catch(err => {
reject(err)
})
})
}
update(res) {
var currUser = this.current();
let data = {
sessionKey: currUser.sessionKey,
signature: res.signature,
rawData: res.rawData,
encryptedData: res.encryptedData,
iv: res.iv
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_UPDATE_USER, 'GET', data).then(res => {
storage.save('msUser', res.data)
resolve(res)
}).catch(err => {
reject(err)
})
})
}
current() {
const data = storage.fetch('msUser')
if(data != undefined && data != null) {
return typeof data === 'object' ? data : JSON.parse(data)
} else {
return null;
}
}
bindPhone(phone) {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
if(isUndefined(phone) && !isString(phone)) {
throw new Error(415, "手机号不能为空")
}
let data = {
userId : currUser.id,
phoneNumber: phone
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_BIND_PHONE, "PUT", data).then(res => {
if(res.success) {
resolve(res.data)
storage.save('msUser', res.data)
} else {
reject(res.message)
}
}).catch(err => {
reject(err)
})
})
}
getPhoneNumber(e) {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = {
userId : currUser.id,
encryptedData: e.detail.encryptedData,
iv: e.detail.iv
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_GET_PHONE_NUMBER, "GET", data).then(res => {
if(res.success) {
resolve(res.data)
} else {
reject(res.message)
}
}).catch(err => {
reject(err)
})
})
}
findUnPayShopBags() {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = { userId : currUser.id}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_LOAD_UN_PAY_SHOP_BAG, 'GET', data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
getUnPayShopBagNum() {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = { userId : currUser.id}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_GET_UN_PAY_SHOP_BAG_NUM, "GET", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
joinShopBag(params) {
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_JOIN_SHOP_BAG, 'POST', params).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
plusShopBagGoods(shopBagId) {
let data = {shopBagId : shopBagId}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_PLUS_SHOP_BAG_GOODS, "PUT", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
minusShopBagGoods(shopBagId) {
let data = {shopBagId : shopBagId}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_MINUS_SHOP_BAG_GOODS, "PUT", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
removeShopBagGoods(shopBagId) {
let data = {shopBagId : shopBagId}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_REMOVE_SHOP_BAG_GOODS, "DELETE", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
findSysNotice(pageNum, pageSize) {
var pn = pageNum == undefined || pageNum == null ? 1 : pageNum;
var ps = pageSize == undefined || pageSize == null ? 10 : pageSize;
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = {
userId : currUser.id,
pageNum: pn,
pageSize: ps
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_FIND_SYS_NOTICE, "GET", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
getNoLookSysNoticeNum() {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = {
userId : currUser.id
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_GET_NO_LOOK_SYS_NOTICE_NUM, "GET", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
setSysNoticeLook() {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = {
userId : currUser.id
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_SET_SYS_NOTICE_LOOK, "PUT", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
findUserBill(options) {
var currUser = this.current();
if (!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
let data = {
userId : currUser.id,
pageNum: 1,
pageSize: 10
}
if(!isUndefined(options.pageNum) && isNumber(options.pageNum)) {
data.pageNum = options.pageNum;
}
if(!isUndefined(options.pageSize) && isNumber(options.pageSize)) {
data.pageSize = options.pageSize;
}
if(!isUndefined(options.type) && isNumber(options.type)) {
data.type = options.type;
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_FIND_USER_BILL, "GET", data).then(res => {
resolve(res.data)
}).catch(err => {
reject(err)
})
})
}
feedback(remark) {
var currUser = this.current();
if(!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
if(isUndefined(remark)) {
throw new Error(415, "反馈内容为空")
}
let data = {
userId: currUser.id,
remark: remark
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_FEED_BACK, "POST", data).then(res => {
if(res.success) {
resolve(res.data)
} else {
reject(res.message)
}
}).catch(err => {
reject(err)
})
})
}
findFeedback(options) {
var currUser = this.current();
if(!Object(currUser)) {
throw new Error(415, "当前用户不存在")
}
var data = {
userId: currUser.id,
pageNum: 1,
pageSize: 10
}
if(!isUndefined(options.pageNum) && isNumber(options.pageNum)) {
data.pageNum = options.pageNum
}
if(!isUndefined(options.pageSize) && isNumber(options.pageSize)) {
data.pageSize = options.pageSize
}
return new Promise((resolve, reject) => {
request(MS._config.parameters.WX_FEED_BACK, "GET", data).then(res => {
if(res.success) {
resolve(res.data)
} else {
reject(res.message)
}
}).catch(err => {
reject(err)
})
})
}
}
module.exports = user