diff --git a/pages/SyntaxCase/index.vue b/pages/SyntaxCase/index.vue index 0acfca6aab49fd3c3a391defbabe186c8a32aa33..2a8689c5391d100152900eee38509ccea72982ed 100644 --- a/pages/SyntaxCase/index.vue +++ b/pages/SyntaxCase/index.vue @@ -1,322 +1,373 @@ + \ No newline at end of file diff --git a/uni_modules/uts-syntaxcase/index.uts b/uni_modules/uts-syntaxcase/index.uts deleted file mode 100644 index 1a86e8254362be5e9c0290adb5c95557dc00c5ee..0000000000000000000000000000000000000000 --- a/uni_modules/uts-syntaxcase/index.uts +++ /dev/null @@ -1,103 +0,0 @@ -type AsyncOptions = { - type: string; - success: (res: string) => void; - fail: (res: string) => void; - complete: (res: string) => void; -}; - -type SyntaxResult = { - name: string -}; - -type SyncResult = { - msg: string -} - - -/** - * 导出一个属性 - */ -export const MAX = 100; - -/** - * 导出一个同步方法 - * @returns - */ -export function testSync(msg: string): SyncResult { - console.log("log test"); - const res: SyncResult = { - msg: `hello ${msg}` - } - return res -} -/** - * 导出一个同步方法(触发了数组越界异常) - */ -export function testSyncError() { - const arr: string[] = []; - console.log(arr[1]); -} -/** - * 导出一个带callback的同步方法 - * @param opts - */ -export function testSyncWithCallback(opts: AsyncOptions) { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - - const res: SyntaxResult = { - name: "testSyncWithCallback" - } - return res -} -/** - * 导出一个异步方法 - * @returns - */ -export async function testAsync(opts: AsyncOptions): Promise { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - - const res: SyntaxResult = { - name: "testAsync" - } - return res -} - -type TestOptions = { - name: string; - callback: (res: string) => void; -}; - -export class Test { - id: number; - name: string; - static type: string = "Test"; - constructor(id: number, options: TestOptions) { - this.id = id; - this.name = options.name; - options.callback("Test.constructor"); - } - static testClassStaticSyncWithCallback(opts: AsyncOptions): SyntaxResult { - return testSyncWithCallback(opts); - } - static async testClassStaticAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } - testClassSyncWithCallback(opts: AsyncOptions): SyntaxResult { - return testSyncWithCallback(opts); - } - async testClassAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } -} diff --git a/uni_modules/uts-syntaxcase/utssdk/app-android/index.uts b/uni_modules/uts-syntaxcase/utssdk/app-android/index.uts deleted file mode 100644 index dfdc29f8af3cb7ca3c092ba0217f686a99b3e8eb..0000000000000000000000000000000000000000 --- a/uni_modules/uts-syntaxcase/utssdk/app-android/index.uts +++ /dev/null @@ -1,86 +0,0 @@ -import { log } from "./utils.uts"; -type AsyncOptions = { - type: string; - success: (res: string) => void; - fail: (res: string) => void; - complete: (res: string) => void; -}; -/** - * 导出一个属性 - */ -export const MAX = 100; - -/** - * 导出一个同步方法 - * @returns - */ -export function testSync(msg: string) { - console.log("log test"); - log("log test1"); - return { - msg: `hello ${msg}`, - }; -} -/** - * 导出一个同步方法(触发了数组越界异常) - */ -export function testSyncError() { - const arr: string[] = []; - console.log(arr[1]); -} -/** - * 导出一个带callback的同步方法 - * @param opts - */ -export function testSyncWithCallback(opts: AsyncOptions) { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - return { name: "testSyncWithCallback" }; -} -/** - * 导出一个异步方法 - * @returns - */ -export async function testAsync(opts: AsyncOptions) { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - return { name: "testAsync" }; -} - -type TestOptions = { - name: string; - callback: (res: string) => void; -}; - -export class Test { - id: number; - name: string; - static type: string = "Test"; - constructor(id: number, options: TestOptions) { - this.id = id; - this.name = options.name; - options.callback("Test.constructor"); - } - static testClassStaticSyncWithCallback(opts: AsyncOptions): UTSJSONObject { - return testSyncWithCallback(opts); - } - static async testClassStaticAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } - testClassSyncWithCallback(opts: AsyncOptions): UTSJSONObject { - return testSyncWithCallback(opts); - } - async testClassAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } -} diff --git a/uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts b/uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts deleted file mode 100644 index ae77730d9c8fecf847c4e4993bd006de98ce712d..0000000000000000000000000000000000000000 --- a/uni_modules/uts-syntaxcase/utssdk/app-ios/index.uts +++ /dev/null @@ -1,110 +0,0 @@ -import { log } from "./utils.uts"; -type AsyncOptions = { - type: string; - success: (res: string) => void; - fail: (res: string) => void; - complete: (res: string) => void; -}; - -type SyntaxResult = { - name: string -}; - -type SyncResult = { - msg: string -} - -/** - * 导出一个属性 - */ -export const MAX = 100; - -/** - * 导出一个同步方法 - * @returns - */ -export function testSync(msg: string): SyncResult { - console.log("log test"); - log("log test1"); - - const res: SyncResult = { - msg: `hello ${msg}` - } - return res - // return { - // msg: `hello ${msg}`, - // }; -} -/** - * 导出一个同步方法(触发了数组越界异常) - */ -export function testSyncError() { - const arr: string[] = []; - console.log(arr[1]); -} -/** - * 导出一个带callback的同步方法 - * @param opts - */ -export function testSyncWithCallback(opts: AsyncOptions): SyntaxResult { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - - const res: SyntaxResult = { - name: "testSyncWithCallback" - } - return res; - // return { name: "testSyncWithCallback" }; -} -/** - * 导出一个异步方法 - * @returns - */ -export async function testAsync(opts: AsyncOptions): Promise { - if (opts.type == "success") { - opts.success("success"); - } else { - opts.fail("fail"); - } - opts.complete("complete"); - - const res: SyntaxResult = { - name: "testAsync" - } - return res; - // return { name: "testAsync" }; -} - -type TestOptions = { - name: string; - callback: (res: string) => void; -}; - -export class Test { - id: number; - name: string; - static type: string = "Test"; - constructor(id: number, options: TestOptions) { - this.id = id; - this.name = options.name; - options.callback("Test.constructor"); - } - static testClassStaticSyncWithCallback(opts: AsyncOptions): SyntaxResult { - return testSyncWithCallback(opts); - } - static async testClassStaticAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } - testClassSyncWithCallback(opts: AsyncOptions): SyntaxResult { - return testSyncWithCallback(opts); - } - async testClassAsync(opts: AsyncOptions): Promise { - const res = await testAsync(opts); - return res; - } -} diff --git a/uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts b/uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts deleted file mode 100644 index 71050f559311b3e39bb37491b1ff8018910f6214..0000000000000000000000000000000000000000 --- a/uni_modules/uts-syntaxcase/utssdk/app-ios/utils.uts +++ /dev/null @@ -1,3 +0,0 @@ -export function log(msg: string) { - console.log(msg); -} diff --git a/uni_modules/uts-syntaxcase/utssdk/index.uts b/uni_modules/uts-syntaxcase/utssdk/index.uts new file mode 100644 index 0000000000000000000000000000000000000000..c6b78f3eac21a2995e661d52f7de73df84fa333f --- /dev/null +++ b/uni_modules/uts-syntaxcase/utssdk/index.uts @@ -0,0 +1,133 @@ +import { RequestTask, SyncOptions } from "./interface.uts"; +import { log } from "./utils.uts"; +type AsyncOptions = { + type : string; + success : (res : string) => void; + fail : (res : string) => void; + complete : (res : string) => void; +}; + +type SyntaxResult = { + name : string +}; + +type SyncResult = { + msg : string +} + +/** + * 导出一个属性 + */ +export const MAX = 100; + +/** + * 导出一个同步方法 + * @returns + */ +export function testSync(msg : string) : SyncResult { + console.log("log test"); + log("log test1"); + + const res : SyncResult = { + msg: `hello ${msg}` + } + return res + // return { + // msg: `hello ${msg}`, + // }; +} +/** + * 导出一个同步方法(触发了数组越界异常) + */ +export function testSyncError() { + const arr : string[] = []; + console.log(arr[1]); +} +/** + * 导出一个带callback的同步方法 + * @param opts + */ +export function testSyncWithCallback(opts : AsyncOptions) : SyntaxResult { + if (opts.type == "success") { + opts.success("success"); + } else { + opts.fail("fail"); + } + opts.complete("complete"); + + const res : SyntaxResult = { + name: "testSyncWithCallback" + } + return res; + // return { name: "testSyncWithCallback" }; +} +/** + * 导出一个异步方法 + * @returns + */ +export async function testAsync(opts : AsyncOptions) : Promise { + if (opts.type == "success") { + opts.success("success"); + } else { + opts.fail("fail"); + } + opts.complete("complete"); + + const res : SyntaxResult = { + name: "testAsync" + } + return res; + // return { name: "testAsync" }; +} + +type TestOptions = { + name : string; + callback : (res : string) => void; +}; + +export class Test { + id : number; + name : string; + static type : string = "Test"; + constructor(id : number, options : TestOptions) { + this.id = id; + this.name = options.name; + options.callback("Test.constructor"); + } + static testClassStaticSyncWithCallback(opts : AsyncOptions) : SyntaxResult { + return testSyncWithCallback(opts); + } + static async testClassStaticAsync(opts : AsyncOptions) : Promise { + const res = await testAsync(opts); + return res; + } + testClassSyncWithCallback(opts : AsyncOptions) : SyntaxResult { + return testSyncWithCallback(opts); + } + async testClassAsync(opts : AsyncOptions) : Promise { + const res = await testAsync(opts); + return res; + } +} + +class RequestTaskImpl implements RequestTask { + url : string + constructor(url : string) { + this.url = url + } + abort() : RequestTask { + return this + } + onCallback(callback : (res : string) => void) { + callback("onCallback") + } + sync(options : SyncOptions) : string { + options.success?.("success") + options.complete?.("success") + return "sync" + } +} + +export function request(url : string) : RequestTask { + return new RequestTaskImpl(url) +} \ No newline at end of file diff --git a/uni_modules/uts-syntaxcase/utssdk/interface.uts b/uni_modules/uts-syntaxcase/utssdk/interface.uts new file mode 100644 index 0000000000000000000000000000000000000000..3a29e4614b71811cf9dad19a5a604274523af695 --- /dev/null +++ b/uni_modules/uts-syntaxcase/utssdk/interface.uts @@ -0,0 +1,11 @@ +export type SyncOptions = { + success ?: (res : string) => void + fail ?: (res : string) => void + complete ?: (res : string) => void +} +export interface RequestTask { + url : string + abort() : RequestTask + onCallback(callback : (res : string) => void) : void + sync(options : SyncOptions) : string +} \ No newline at end of file diff --git a/uni_modules/uts-syntaxcase/utssdk/app-android/utils.uts b/uni_modules/uts-syntaxcase/utssdk/utils.uts similarity index 100% rename from uni_modules/uts-syntaxcase/utssdk/app-android/utils.uts rename to uni_modules/uts-syntaxcase/utssdk/utils.uts