UNPKG

minchao-js-sdk

Version:
318 lines (299 loc) 9.93 kB
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