🌈 style(eslint): 修复eslint的报错❌

This commit is contained in:
xuan
2022-12-05 16:30:09 +08:00
parent d93b66e7d5
commit 639112c038
114 changed files with 2209 additions and 2161 deletions
+41 -41
View File
@@ -69,8 +69,10 @@ const stateObj: stateStype = {
// 取色仪主动返回的数据
deviceLab: null,
}
export default (props) => {
interface PropsType {
children?: React.ReactNode
}
const BlueToothCopy = (props: PropsType) => {
const refStatus = useRef(stateObj)
const [state, setState] = useState(refStatus.current)
@@ -78,7 +80,32 @@ export default (props) => {
refStatus.current = { ...refStatus.current, ...obj }
setState({ ...refStatus.current })
}
/** 打开蓝牙适配器 */
const openAdapter = () => {
return new Promise((resolve, reject) => {
Taro.openBluetoothAdapter({
success: resolve,
fail: reject,
})
})
}
/**
* 推送事件
* @param {{type: string; data: any}} event
*/
const emit = (event) => {
refStatus.current.listeners.forEach((cb) => {
cb && cb(event)
})
}
const subscribe = (cb) => {
if (cb) {
changeStatus({
listeners: refStatus.current.listeners.add(cb),
})
}
}
const init = async() => {
try {
await openAdapter()
@@ -123,34 +150,6 @@ export default (props) => {
})
}
/** 打开蓝牙适配器 */
const openAdapter = () => {
return new Promise((resolve, reject) => {
Taro.openBluetoothAdapter({
success: resolve,
fail: reject,
})
})
}
/**
* 推送事件
* @param {{type: string; data: any}} event
*/
const emit = (event) => {
refStatus.current.listeners.forEach((cb) => {
cb && cb(event)
})
}
const subscribe = (cb) => {
if (cb) {
changeStatus({
listeners: refStatus.current.listeners.add(cb),
})
}
}
/**
* 获取蓝牙适配器状态
* @returns {Promise<{discovering: boolean; available: boolean}>}
@@ -163,7 +162,15 @@ export default (props) => {
})
})
}
// 获取搜索到的设备
const getDevices = (res) => {
res.devices.forEach((device) => {
// 排除掉已搜索到的设备和名称不合法的设备, 将新发现的设备添加到列表中
if (/^CM/.test(device.name) && !refStatus.current.devices.find(i => i.deviceId === device.deviceId)) {
changeStatus({ devices: [...refStatus.current.devices, device] })
}
})
}
/**
* 启动设备扫描
* @param {(res: { devices: { name: string, deviceId: string, RSSI: number }[] }) => void} cb
@@ -190,16 +197,6 @@ export default (props) => {
})
}
// 获取搜索到的设备
const getDevices = (res) => {
res.devices.forEach((device) => {
// 排除掉已搜索到的设备和名称不合法的设备, 将新发现的设备添加到列表中
if (/^CM/.test(device.name) && !refStatus.current.devices.find(i => i.deviceId === device.deviceId)) {
changeStatus({ devices: [...refStatus.current.devices, device] })
}
})
}
/**
* 连接设备
* @param {{ name: string, deviceId: string, RSSI: number }} device
@@ -354,6 +351,7 @@ export default (props) => {
* @returns {Promise<Uint8Array>}
*/
function exec(command) {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve, reject) => {
if (refStatus.current.command) {
reject(new Error('正在执行其他命令'))
@@ -488,3 +486,5 @@ export const useBluetoothTwo = () => {
return {}
}
}
export default BlueToothCopy
+68 -65
View File
@@ -69,8 +69,10 @@ const stateObj: stateStype = {
// 取色仪主动返回的数据
deviceLab: null,
}
export default (props) => {
interface PropsType {
children?: React.ReactNode
}
const ContextBlueTooth = (props: PropsType) => {
const refStatus = useRef(stateObj)
const [state, setState] = useState(refStatus.current)
@@ -79,50 +81,6 @@ export default (props) => {
setState({ ...refStatus.current })
}
const init = async() => {
try {
await openAdapter()
}
catch (e) {
changeStatus({ available: false })
}
// 绑定事件通知
Taro.onBluetoothAdapterStateChange((res) => {
emit({ type: 'stateUpdate', detail: res })
})
Taro.onBLEConnectionStateChange((res) => {
emit({ type: res.connected ? 'connected' : 'disconnect', detail: res })
})
Taro.onBLECharacteristicValueChange(({ value }) => notifySubscriber(value))
subscribe(async(ev) => {
if (ev.type === 'stateUpdate') {
// 蓝牙状态发生的变化
changeStatus({ discovering: ev.detail.discovering, available: ev.detail.available })
}
else if (ev.type === 'disconnect' && refStatus.current.connected && refStatus.current.connected.deviceId === ev.detail.deviceId) {
// 断开连接
changeStatus({
connected: null,
serviceId: null,
characteristicId: null,
deviceLab: null,
devices: [],
})
Taro.showToast({ icon: 'none', title: '蓝牙连接已断开' })
}
else if (ev.type === 'connected' && refStatus.current.connecting) {
// 连接成功
changeStatus({ connected: refStatus.current.connecting, connecting: null })
Taro.showToast({ title: '蓝牙已连接' })
}
else if (ev.type === 'measure') {
// 监听取色仪主动推送lab
await measureAndGetLab()
}
})
}
/** 打开蓝牙适配器 */
const openAdapter = () => {
return new Promise((resolve, reject) => {
@@ -163,7 +121,59 @@ export default (props) => {
})
})
}
const init = async() => {
try {
await openAdapter()
}
catch (e) {
changeStatus({ available: false })
}
// 绑定事件通知
Taro.onBluetoothAdapterStateChange((res) => {
emit({ type: 'stateUpdate', detail: res })
})
Taro.onBLEConnectionStateChange((res) => {
emit({ type: res.connected ? 'connected' : 'disconnect', detail: res })
})
Taro.onBLECharacteristicValueChange(({ value }) => notifySubscriber(value))
subscribe(async(ev) => {
if (ev.type === 'stateUpdate') {
// 蓝牙状态发生的变化
changeStatus({ discovering: ev.detail.discovering, available: ev.detail.available })
}
else if (ev.type === 'disconnect' && refStatus.current.connected && refStatus.current.connected.deviceId === ev.detail.deviceId) {
// 断开连接
changeStatus({
connected: null,
serviceId: null,
characteristicId: null,
deviceLab: null,
devices: [],
})
Taro.showToast({ icon: 'none', title: '蓝牙连接已断开' })
}
else if (ev.type === 'connected' && refStatus.current.connecting) {
// 连接成功
changeStatus({ connected: refStatus.current.connecting, connecting: null })
Taro.showToast({ title: '蓝牙已连接' })
}
else if (ev.type === 'measure') {
// 监听取色仪主动推送lab
await measureAndGetLab()
}
})
}
// 获取搜索到的设备
const getDevices = (res) => {
res.devices.forEach((device) => {
// 排除掉已搜索到的设备和名称不合法的设备, 将新发现的设备添加到列表中
if (/^CM/.test(device.name) && !refStatus.current.devices.find(i => i.deviceId === device.deviceId)) {
changeStatus({ devices: [...refStatus.current.devices, device] })
}
})
}
/**
* 启动设备扫描
* @param {(res: { devices: { name: string, deviceId: string, RSSI: number }[] }) => void} cb
@@ -190,16 +200,6 @@ export default (props) => {
})
}
// 获取搜索到的设备
const getDevices = (res) => {
res.devices.forEach((device) => {
// 排除掉已搜索到的设备和名称不合法的设备, 将新发现的设备添加到列表中
if (/^CM/.test(device.name) && !refStatus.current.devices.find(i => i.deviceId === device.deviceId)) {
changeStatus({ devices: [...refStatus.current.devices, device] })
}
})
}
/**
* 连接设备
* @param {{ name: string, deviceId: string, RSSI: number }} device
@@ -212,7 +212,7 @@ export default (props) => {
await discoverService(device.deviceId)
await discoverCharacteristic(device.deviceId)
await notifyCharacteristicValueChange(device.deviceId)
}
}
catch (e) {
changeStatus({ connecting: null })
Taro.showToast({ icon: 'none', title: '蓝牙连接失败' })
@@ -273,7 +273,7 @@ export default (props) => {
const service = services.find(i => refStatus.current.serviceRule.test(i.uuid))
if (!service) {
reject(new Error('服务不可用'))
}
}
else {
changeStatus({ serviceId: service.uuid })
resolve(service)
@@ -294,7 +294,7 @@ export default (props) => {
const characteristic = characteristics.find(i => refStatus.current.characteristicRule.test(i.uuid))
if (!characteristic) {
reject(new Error('特征不可用'))
}
}
else {
changeStatus({ characteristicId: characteristic.uuid })
resolve(characteristic)
@@ -332,13 +332,13 @@ export default (props) => {
if (refStatus.current.command.isComplete) {
if (refStatus.current.command.isValid && refStatus.current.responseResolve) {
refStatus.current.responseResolve(refStatus.current.command.response)
}
}
else if (!refStatus.current.command.isValid) {
refStatus.current.responseReject(new Error('无效数据'))
}
resetCommand()
}
}
}
else {
const uint8Array = new Uint8Array(buffer)
if (uint8Array[0] === 0xBB && uint8Array[1] === 1 && uint8Array[3] === 0) {
@@ -354,10 +354,11 @@ export default (props) => {
* @returns {Promise<Uint8Array>}
*/
function exec(command) {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve, reject) => {
if (refStatus.current.command) {
reject(new Error('正在执行其他命令'))
}
}
else {
try {
refStatus.current.command = command
@@ -369,7 +370,7 @@ export default (props) => {
if (command.responseSize <= 0) {
resolve(true)
resetCommand()
}
}
else {
refStatus.current.responseReject = reject
refStatus.current.responseResolve = resolve
@@ -378,7 +379,7 @@ export default (props) => {
resetCommand()
}, command.timeout)
}
}
}
catch (e) {
reject(e)
}
@@ -483,8 +484,10 @@ export const useBluetooth = () => {
const res = React.useContext<any>(Context)
if (res) {
return { ...res }
}
}
else {
return {}
}
}
export default ContextBlueTooth
+9 -7
View File
@@ -23,32 +23,34 @@ interface Param {
export default ({ scope, msg }: Param) => {
// 这个hook微信授权检查授权
const check = useCallback(() => {
return new Promise((reslove, reject) => {
return new Promise((resolve, reject) => {
Taro.getSetting({
success: (res) => {
if (res.authSetting[scope]) {
reslove(true)
}
resolve(true)
}
else if (res.authSetting[scope] === undefined) {
Taro.authorize({
scope,
success() {
reslove(true)
resolve(true)
},
fail() {
alert.none(msg)
// eslint-disable-next-line prefer-promise-reject-errors
reject(false)
},
})
}
}
else {
Taro.openSetting({
success(res) {
if (res.authSetting[scope]) {
reslove(true)
}
resolve(true)
}
else {
alert.none(msg)
// eslint-disable-next-line prefer-promise-reject-errors
reject(false)
}
},
+13 -11
View File
@@ -14,16 +14,7 @@ export const useTimeCountDown = () => {
const [timeStatus, setTimeStatus] = useState<0 | 1 | 2>(0) // 倒计时状体 0:倒计时未开始 1:倒计时中, 2:倒计时已结束
const timeObj: any = useRef()
const endTime = useRef('')
const onStart = (val = '') => {
console.log('time:::', val)
endTime.current = val
if (endTime.current) {
clearInterval(timeObj.current)
timeObj.current = setInterval(() => {
count_down()
}, 1000)
}
}
useEffect(() => {
return () => {
clearInterval(timeObj.current)
@@ -55,6 +46,16 @@ export const useTimeCountDown = () => {
console.log('endTime::', `${DD}-${HH}-${MM}-${SS}`)
setShowTime(e => ({ ...e, DD, HH, MM, SS }))
}
const onStart = (val = '') => {
console.log('time:::', val)
endTime.current = val
if (endTime.current) {
clearInterval(timeObj.current)
timeObj.current = setInterval(() => {
count_down()
}, 1000)
}
}
return {
showTime,
onStart,
@@ -66,6 +67,7 @@ export const useTimeCountDown = () => {
export const UseSubscriptionMessage = () => {
const { fetchData: fetchDataMessage } = SubscriptionMessageApi()
const openSubscriptionMessage = ({ orderId = 0, scenes = 0 }: { orderId?: number; scenes: number }) => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve) => {
const params: { sale_order_id?: number; scenes?: number } = {}
orderId && (params.sale_order_id = orderId)
@@ -78,7 +80,7 @@ export const UseSubscriptionMessage = () => {
resolve(res)
},
})
}
}
else {
resolve(true)
}
+56 -60
View File
@@ -11,11 +11,50 @@ import { formatImgUrl } from '@/common/fotmat'
export default () => {
const { setUserInfo, setAdminUserInfo, setSortCode, userInfo } = useUserInfo()
// 获取用户信息
const { fetchData: FetchData } = GetAdminUserInfoApi()
useDidShow(() => {
checkLogin()
})
// 获取分享码(右上角分享码)
const { SharePage } = SHARE_SCENE
const { fetchData: fetchDataShortCode } = GetShortCodeApi()
const getShortCode = async(user_id) => {
const { data: resPage } = await fetchDataShortCode({ share_user_id: user_id, type: SharePage.value })
setSortCode({
...userInfo.sort_code,
shareShortPage: { title: '打造面料爆品 专注客户服务', code: resPage.md5_key, img: `${IMG_CND_Prefix}/mall/share_img_01.png` },
})
}
const getAdminUserInfo = async() => {
const res = await FetchData()
res.data.avatar_url = res.data.avatar_url ? res.data.avatar_url : formatImgUrl('/user/avatar.png')
setAdminUserInfo({ ...res.data })
getShortCode(res.data.user_id)
}
// 获取用户头像等信息数据
const { fetchData: fetchDataUserInfo } = GetWxUserInfoApi()
// 获取手机号码
const { fetchData: fetchDataUserPhone } = GetPhoneNumberApi()
const { fetchData: fetchBindingCompany } = BindingCompanyApi()
const getPhoneNumber = (code) => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve, reject) => {
if (userInfo.adminUserInfo?.is_authorize_phone) {
resolve(true)
return true
}
const res = await fetchDataUserPhone({ code })
if (res.success) {
setUserInfo({ ...userInfo.userInfo, phone: res.data.phone_number })
await fetchBindingCompany()
getAdminUserInfo()
resolve(res.data)
}
else {
reject(res.msg)
}
})
}
// 登录请求
const { login } = useLoginRequest()
// const {fetchData:login} = LoginApi()
@@ -23,50 +62,41 @@ export default () => {
try {
await login()
getAdminUserInfo()
}
}
catch (e) {
console.log('登录失败::', e)
}
}
// 获取用户信息
const { fetchData: useFetchData } = GetAdminUserInfoApi()
const getAdminUserInfo = async() => {
const res = await useFetchData()
res.data.avatar_url = res.data.avatar_url ? res.data.avatar_url : formatImgUrl('/user/avatar.png')
setAdminUserInfo({ ...res.data })
getShortCode(res.data.user_id)
}
// 登录加checkLogin检查
const checkLogin = () => {
return new Promise(async(reslove) => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve) => {
if (!userInfo.token) {
await wxLogin()
reslove(true)
}
resolve(true)
}
else {
// 这个东西不要打开,checkSession有调用频率问题
// Taro.checkSession({
// success: async () => {
// reslove(true)
// resolve(true)
// if(!userInfo.adminUserInfo) getAdminUserInfo()
// },
// fail: async () => {
// await wxLogin()
// reslove(true)
// resolve(true)
// }
// })
}
})
}
// 获取用户头像等信息数据
const { fetchData: fetchDataUserInfo } = GetWxUserInfoApi()
useDidShow(() => {
checkLogin()
})
const getSelfUserInfo = async() => {
return new Promise((reslove, reject) => {
return new Promise((resolve, reject) => {
if (userInfo.adminUserInfo?.is_authorize_name) {
reslove(true)
resolve(true)
return true
}
Taro.getUserProfile({
@@ -85,8 +115,8 @@ export default () => {
if (user_res.success) {
setUserInfo({ ...user_res.data })
getAdminUserInfo()
reslove(true)
}
resolve(true)
}
else {
reject(user_res.msg)
}
@@ -98,40 +128,6 @@ export default () => {
})
})
}
// 获取手机号码
const { fetchData: fetchDataUserPhone } = GetPhoneNumberApi()
const { fetchData: fetchBindingCompany } = BindingCompanyApi()
const getPhoneNumber = (code) => {
return new Promise(async(reslove, reject) => {
if (userInfo.adminUserInfo?.is_authorize_phone) {
reslove(true)
return true
}
const res = await fetchDataUserPhone({ code })
if (res.success) {
setUserInfo({ ...userInfo.userInfo, phone: res.data.phone_number })
await fetchBindingCompany()
getAdminUserInfo()
reslove(res.data)
}
else {
reject(res.msg)
}
})
}
// 获取分享码(右上角分享码)
const { SharePage } = SHARE_SCENE
const { fetchData: fetchDataShortCode } = GetShortCodeApi()
const getShortCode = async(user_id) => {
const { data: resPage } = await fetchDataShortCode({ share_user_id: user_id, type: SharePage.value })
setSortCode({
...userInfo.sort_code,
shareShortPage: { title: '打造面料爆品 专注客户服务', code: resPage.md5_key, img: `${IMG_CND_Prefix}/mall/share_img_01.png` },
})
}
return {
checkLogin,
wxLogin,
+11 -11
View File
@@ -9,7 +9,7 @@ import { BASE_URL, WX_APPID } from '@/common/constant'
interface Param { success: true|false; data: any; msg: string; code: null|number; loading: false|true }
let loginStatus = false // 登录状态,true登录中
export default () => {
export default () => {
const initData = {
success: false,
data: null,
@@ -39,15 +39,15 @@ export default () => {
loginData.current.code = code
loginData.current.msg = msg
loginData.current.data = data
}
}
else {
Taro.showToast({
title: '错误:登录失败',
icon: 'none',
})
console.log('登录错误:', result.errMsg)
console.log('登录错误:', result.errMsg)
}
}
}
catch (e) {
Taro.showToast({
title: '错误:登录失败',
@@ -62,7 +62,7 @@ export default () => {
const login = () => {
if (loginStatus) { return false }
loginStatus = true
return new Promise((reslove, reject) => {
return new Promise((resolve, reject) => {
Taro.login({
success: async(res) => {
if (res.code) {
@@ -70,20 +70,20 @@ export default () => {
if (success) {
setToken(data.token)
setSessionKey(data.session_key)
reslove(data)
resolve(data)
const params = router.params
delete params.$taroTimestamp
if (router.path === '/pages/index/index' || router.path === '/pages/user/index') {
Taro.reLaunch({
url: `${router.path}?${qs.stringify(params)}`,
})
}
}
else {
Taro.redirectTo({
url: `${router.path}?${qs.stringify(params)}`,
})
}
}
}
else {
Taro.showToast({
title: '登录失败',
@@ -91,7 +91,7 @@ export default () => {
})
reject(msg)
}
}
}
else {
console.log(`登录失败!${res.errMsg}`)
reject(res.errMsg)
@@ -104,10 +104,10 @@ export default () => {
loginStatus = false
},
})
})
})
}
return {
login,
}
}
}
+1
View File
@@ -11,6 +11,7 @@ export default () => {
type 类型值,区分上传业务bucket
*/
const getSecret = (scene, type) => {
// eslint-disable-next-line no-async-promise-executor
return new Promise(async(resolve, reject) => {
const SAVE_PATH = `/${scene}/{filemd5}{day}{hour}{min}{sec}{.suffix}`