事例 103: WeChat アプレットに基づくモバイル オンライン収益プロジェクトの設計と実装

記事の最後にあるソースコードを入手してください

開発言語:Java

フレームワーク: スプリングブーツ

JDKバージョン:JDK1.8

データベース: mysql 5.7

開発ソフトウェア:eclipse/myeclipse/idea

Maven パッケージ: Maven3.5.4

ミニプログラムフレームワーク: uniapp

ミニプログラム開発ソフト:HBuilder X

ソフトウェアを実行するミニ プログラム: WeChat 開発者

目次

序文

システム表示

ユーザー機能モジュールの実装

ユーザー登録ログインインターフェース

ホームインターフェース

タスクインターフェース

アイテム交換インターフェース

サインインインターフェイス

私のインターフェース

管理者機能モジュールの実装

管理者のログインインターフェース

ユーザー管理インターフェース

サインイン管理インターフェイス

タスク管理インターフェース

タスク分類管理インターフェース

Exchangeアイテム管理インターフェース

レビューの送信管理インターフェイス

コード

ログイン機能の実装コード

登録機能の実装コード

パスワードリセット機能の実装コード

情報関数の実装コードを変更する

情報削除機能の実装コード

情報保存機能の実装コード


序文

コンピュータ技術の成熟とインターネットの確立に伴い、PC プラットフォーム上でオンラインで稼ぐプロジェクト プログラムが数多く存在しますが、時間と場所の制限により、ユーザーはそれらを使用する際にさまざまな不便を感じています。 WeChat で開発されたモバイル オンライン収益プロジェクト アプレットは、この問題を効果的に解決できます。

このモバイル オンライン収益プロジェクト アプレットは、WXML、WXS、JS アプレット記述言語と WeChat 開発用の WeChat 開発者ツールを使用します。システム データを保存するために MYSQL データベースを使用します。入り口として WeChat を使用します。高速かつ軽量で、多くを占有しません。メモリのダウンロードやインストールが不要で、アクセス速度が非常に高速です。システムのインターフェースが優れており、操作がシンプルで便利です。システムの概要、システム分析、システム設計、データベース設計、システムのテストを通じて、システム開発プロセスを詳細に説明します。最後に、開発プロセス全体を要約し、タスクの重要な機能、受注タスク、商品の引き換え。

「シンプルな操作、実用的な機能」をコンセプトに、最高のユーザーエクスペリエンスを追求したソフトウェア設計です。


システム表示

ユーザー機能モジュールの実装

ユーザー登録ログインインターフェース

アカウントを持たないユーザーでも登録でき、登録後はログイン インターフェイスにアクセスしてシステムにログインできます。

 

ホームインターフェース

ログイン後、ユーザーはシステムのホームページにアクセスします 

 

タスクインターフェース

ユーザーはすべてのタスク情報を表示し、タスク インターフェイスで詳細を表示できます。 

 

アイテム交換インターフェース

ユーザーは交換アイテム情報を表示し、詳細を表示して交換操作を実行することを選択できます。 

 

サインインインターフェイス

ユーザーはログイン後にサインインすることもできます 

 

私のインターフェース

ユーザーは、私のインターフェイス上で、ニーズに応じて対応する操作を実行できます。 

 

管理者機能モジュールの実装

管理者のログインインターフェース

管理者がシステム バックグラウンドに入ってシステムを管理したい場合は、システム バックグラウンドにログインする必要があります。 

 

ユーザー管理インターフェース

管理者はログイン後にユーザー情報を表示、追加、変更、削除できます。

 

サインイン管理インターフェイス

管理者はチェックイン情報を表示、追加、変更、削除できます。

 

タスク管理インターフェース

管理者はタスク情報を追加、変更、削除できます 

 

タスク分類管理インターフェース

管理者はタスク分類情報を追加、削除、変更、確認できます。 

 

Exchangeアイテム管理インターフェース

管理者は引き換えアイテム情報を表示、追加、変更、削除できます。

 

レビューの送信管理インターフェイス

管理者は、ユーザーのタスク順序情報を表示し、確認、変更、削除できます。

 


コード

ログイン機能の実装コード

@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}

登録機能の実装コード

@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

パスワードリセット機能の実装コード

@IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }

情報関数の実装コードを変更する

 @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

情報削除機能の実装コード

@RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }

情報保存機能の実装コード

@PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

おすすめ

転載: blog.csdn.net/2301_79727522/article/details/135441547