Initial commit of akmon project
This commit is contained in:
36
uni_modules/uni-openLocation/utssdk/app-ios/index.uts
Normal file
36
uni_modules/uni-openLocation/utssdk/app-ios/index.uts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { OpenLocation, OpenLocationOptions, OpenLocationSuccessImpl } from "../interface.uts"
|
||||
import { OpenLocationFailImpl } from "../unierror.uts"
|
||||
|
||||
export const openLocation : OpenLocation = function (options : OpenLocationOptions) {
|
||||
const uuid = `${Date.now()}${Math.floor(Math.random() * 1e7)}`
|
||||
const baseEventName = `uni_open_location_${uuid}`
|
||||
const readyEventName = `${baseEventName}_ready`
|
||||
const optionsEventName = `${baseEventName}_options`
|
||||
const successEventName = `${baseEventName}_success`
|
||||
const failEventName = `${baseEventName}_fail`
|
||||
|
||||
uni.$on(readyEventName, () => {
|
||||
uni.$emit(optionsEventName, JSON.parse(JSON.stringify(options)!))
|
||||
})
|
||||
uni.$on(successEventName, () => {
|
||||
const res = new OpenLocationSuccessImpl()
|
||||
options.success?.(res)
|
||||
options.complete?.(res)
|
||||
})
|
||||
uni.$on(failEventName, () => {
|
||||
const res = new OpenLocationFailImpl(4)
|
||||
options.fail?.(res)
|
||||
options.complete?.(res)
|
||||
})
|
||||
uni.openDialogPage({
|
||||
url: `/uni_modules/uni-openLocation/pages/openLocation/openLocation?readyEventName=${readyEventName}&optionsEventName=${optionsEventName}&successEventName=${successEventName}&failEventName=${failEventName}`,
|
||||
fail(err) {
|
||||
const res = new OpenLocationFailImpl(4)
|
||||
options.fail?.(res)
|
||||
options.complete?.(res)
|
||||
uni.$off(readyEventName)
|
||||
uni.$off(successEventName)
|
||||
uni.$off(failEventName)
|
||||
}
|
||||
})
|
||||
};
|
||||
Reference in New Issue
Block a user