5
0
mirror of https://github.com/wailsapp/wails.git synced 2025-05-05 06:29:26 +08:00
wails/mkdocs-website/docs/cy/development/changes_bindings.md
2024-03-18 21:52:39 +11:00

2.8 KiB

Dyma'r cyfieithiad i'r gymraeg:

Rhwymedigaethau

Mae rhwymedigaethau yn gweithio mewn modd tebyg i v2, drwy ddarparu ffordd i rwymo dulliau strwythur i'r rhyngwyneb blaen. Gellir eu galw yn y rhyngwyneb blaen gan ddefnyddio'r wraperi rhwymedigaeth a gynhyrchwyd gan y gorchymyn wails3 generate bindings:

// @ts-check
// Mae'r ffeil hon wedi'i chynhyrchu'n awtomatig. PEIDIWCH Â'I GOLYGU

import { main } from "./models";

window.go = window.go || {};
window.go.main = {
  GreetService: {
    /**
     * GreetService.Greet
     * Mae Greet yn cyfarch rhywun
     * @param name {string}
     * @returns {Promise<string>}
     **/
    Greet: function (name) {
      wails.CallByID(1411160069, ...Array.prototype.slice.call(arguments, 0));
    },

    /**
     * GreetService.GreetPerson
     * Mae GreetPerson yn cyfarch rhywun
     * @param person {main.Person}
     * @returns {Promise<string>}
     **/
    GreetPerson: function (person) {
      wails.CallByID(4021313248, ...Array.prototype.slice.call(arguments, 0));
    },
  },
};

Mae dulliau rhwymo wedi'u cuddio'n ddiofyn, ac maent yn cael eu hadnabod gan IDs uint32, a gyfrifir gan ddefnyddio'r algorithm hasio FNV. Mae hyn er mwyn atal enw'r dull rhag cael ei ddatgelu mewn adeiladau cynhyrchiol. Mewn modd dadfygio, mae'r IDs dull yn cael eu logio ynghyd â'r ID a gyfrifwyd o'r dull i helpu i ddadfygio. Os ydych chi am ychwanegu haen arall o guddio, gallwch ddefnyddio'r opsiwn BindAliases. Mae hyn yn caniatáu ichi bennu map o IDs alias i IDs dull. Pan fydd y rhyngwyneb blaen yn galw dull gan ddefnyddio ID, bydd yr ID dull yn cael ei chwilio yn y map alias yn gyntaf am gywiro. Os nad yw'n ei ganfod, mae'n tybio mai ID dull safonol yw ac yn ceisio canfod y dull yn y ffordd arferol.

Enghraifft:

	app := application.New(application.Options{
		Bind: []any{
			&GreetService{},
		},
		BindAliases: map[uint32]uint32{
			1: 1411160069,
			2: 4021313248,
		},
		Assets: application.AssetOptions{
			Handler: application.AssetFileServerFS(assets),
		},
		Mac: application.MacOptions{
			ApplicationShouldTerminateAfterLastWindowClosed: true,
		},
	})

Nawr gallwn alw gan ddefnyddio'r alias hwn yn y rhyngwyneb blaen: wails.Call(1, "byd!").

Galwadau anniogel

Os nad ydych chi'n poeni am eich galwadau yn cael eu cyhoeddi mewn testun plaen yn eich binari ac nid oes gennych fwriad o ddefnyddio garble, yna gallwch ddefnyddio'r dull wails.CallByName() anniogel. Mae'r dull hwn yn cymryd enw llawn cymhwysol y dull i'w alw a'r arguments i'w pasio iddo. Enghraifft:

```go
wails.CallByName("main.GreetService.Greet", "byd!")
```

!!! angen gofal

Darperir hwn dim ond fel dull cyfleustra ar gyfer datblygu. Ni chyngherir i'w ddefnyddio mewn cynhyrchiad.